问题描述
在我的WinForm应用程序中,我使用了 dataGridView1 控件。在这个 dataGridView1 中,我添加了三个 dataGridViewcomboBoxColumn ,即: ProductCode , SelectCategory 和 SelectCategory 。每当用户从 ProductCode dataGridViewcomboBoxColumn 中选择类别时,应该从 SelectCategory 和 ProductName 中的SQL Server 2005数据库中自动检索数据。 b> dataGridViewcomboBoxColumn 。我是这个领域的新人。请帮帮我。
我为它写了一些代码:但它不起作用
In my WinForm Application, I used a dataGridView1 control. In this dataGridView1 I added three dataGridViewcomboBoxColumn namely: ProductCode, SelectCategory and SelectCategory. Whenever the user will select category from ProductCode dataGridViewcomboBoxColumn, data should be automatically retrieved from SQL Server 2005 database in SelectCategory and ProductName dataGridViewcomboBoxColumn. I am very new in this field.Please help me.
I wrote some code for it: but it not working
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 2)
{
ComboBox comboBox = e.Control as ComboBox;
if (comboBox != null)
{
comboBox.SelectedIndexChanged += new EventHandler(comboBox_SelecteIndexChanged);
}
}
}
void comboBox_SelecteIndexChanged(object sender, EventArgs e)
{
try
{
DataSet ds = new DataSet();
string str = "select ProductCategory,ProductName from Product_Details where ProductID='" + dataGridView1.Rows[intRownum].Cells[2].Value + "'";
SqlConnection con = new SqlConnection(Class1.cs);
con.Open();
SqlCommand cmd = new SqlCommand(str, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds, "Product_Details");
if (ds.Tables["Product_Details"].Rows.Count > 0)
{
dataGridView1.Rows[intRownum].Cells[3].Value = ds.Tables["Product_Details"].Rows[intRownum][0].ToString();
dataGridView1.Rows[intRownum].Cells[4].Value = ds.Tables["Product_Details"].Rows[intRownum][1].ToString();
dataGridView1.Update();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
推荐答案
这篇关于如何在WinForm中执行dataGridViewcomboBoxColumn的selectedIndexChanged事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!