网格视图c#.net中的combox/dropdownlist
本文关键字:combox dropdownlist 中的 net 视图 网格 | 更新日期: 2023-09-27 18:20:29
我是c#.net winforms应用程序的新手。我有一个数据网格wch显示一些数据,其中一列将成为下拉列表或组合框。我该如何在代码中使用它。请帮忙。
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
DataGridViewComboBoxColumn combo = (DataGridViewComboBoxColumn)dataGridView1.Rows[e.RowIndex].Cells[3].OwningColumn;
sql = "select NAME FROM Suppliers";
BindingSource bsource = new BindingSource();
bsource.DataSource = obj.SqlDataTable(sql);
dataGridView1.DataSource = bsource;
combo.HeaderText = "Select Supplier";
}
我想用相应供应商表中的供应商名称填充数据网格的第三列。数据网格视图中已经填充了来自联接查询的数据,其中一个字段是Supplier(wch I mwant可转换为下拉框或组合框)。如果你需要任何进一步的信息来澄清,请告诉我。
I Modified my code as follows:
DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
combo.HeaderText = "Suppliers";
//execute sql data adapter to get supplier values
DataTable dt = obj.SqlDataTable("select NAME from CUSTOMERS");
foreach (DataRow supplier in dt.DataSet.Tables[0].Rows)
{
combo.Items.Add(supplier[0]);
}
dataGridView1.Columns.Add(combo);
现在在"dt.Datat.Tables[0].Rows"处得到一个null引用异常请帮忙。我不确定是不是遗漏了什么。
试试这个代码
string strcon = @"Data Source=kp;Initial Catalog=Name;Integrated Security=True;Pooling=False";
SqlConnection con;
SqlCommand cmd;
SqlDataAdapter da;
DataTable dt;
DataGridViewComboBoxColumn dgvCmb;
public Form2()
{
InitializeComponent();
grdcmd();
}
public void grdcmd()
{
con = new SqlConnection(strcon);
con.Open();
string qry = "Select * from Dbname";
da = new SqlDataAdapter(qry, strcon);
dt = new DataTable();
da.Fill(dt);
dgvCmb = new DataGridViewComboBoxColumn();
foreach (DataRow row in dt.Rows)
{
dgvCmb.Items.Add(row["Fname"].ToString());
}
dataGridView1.Columns.Add(dgvCmb);
}