从自动完成的datagridview文本框单元格中获取数据
本文关键字:单元格 获取 数据 文本 datagridview | 更新日期: 2023-09-27 18:08:42
我基本上是在c#中制作账单,其中我需要使datagridview单元格自动完成,根据在下一个单元格中选择的值,batch no应该与所选值对应的数据自动完成。
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 1)
{
SqlDataReader dreader;
AutoCompleteStringCollection acBusIDSorce = new AutoCompleteStringCollection();
cmd =new SqlCommand( "Select * from SUP_PRO",conn);
conn.Open();
dreader = cmd.ExecuteReader();
if (dreader.HasRows == true)
{
while (dreader.Read())
acBusIDSorce.Add(dreader["P_name"].ToString());
}
else
{
MessageBox.Show("Data not Found");
}
dreader.Close();
TextBox Product = e.Control as TextBox;
if (Product != null)
{
Product.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
Product.AutoCompleteCustomSource = acBusIDSorce;
Product.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
,但这段代码只从我的数据表的一列是P_name..请帮助在其他单元中获取数据,如批号,MRP等
请帮助我谢谢你
我通过为AutoCompleteStringCollection
添加另一个对象来解决这个问题
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 1)
{
SqlDataReader dreader;
AutoCompleteStringCollection MyCollection1 = new AutoCompleteStringCollection();
AutoCompleteStringCollection MyCollection2 = new AutoCompleteStringCollection();
AutoCompleteStringCollection MyCollection3 = new AutoCompleteStringCollection();
cmd =new SqlCommand( "Select * from SUP_PRO",conn);
conn.Open();
dreader = cmd.ExecuteReader();
if (dreader.HasRows == true)
{
while (dreader.Read())
MyCollection1.Add(dreader["P_name"].ToString());
MyCollection2.Add(dreader["P_ProName"].ToString());
MyCollection3.Add(dreader["P_rate"].ToString());
}
else
{
MessageBox.Show("Data not Found");
}
dreader.Close();
TextBox Product = e.Control as TextBox;
if (Product != null)
{
Product.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
Product.AutoCompleteCustomSource = MyCollection1;
Product.AutoCompleteSource = AutoCompleteSource.CustomSource;
Product.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
Product.AutoCompleteCustomSource = MyCollection2;
Product.AutoCompleteSource = AutoCompleteSource.CustomSource;
Product.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
Product.AutoCompleteCustomSource = MyCollection3;
Product.AutoCompleteSource = AutoCompleteSource.CustomSource;
}