【问题标题】:fetch data in autocompleted datagridview textbox cells在自动完成 datagridview 文本框单元格中获取数据
【发布时间】:2014-08-06 03:50:42
【问题描述】:

我基本上是在 c# 中制作账单,其中我需要使 datagridview 单元格自动完成,根据 dis 单元格中的选定值,下一批批次应该使用与选定值对应的数据自动完成..

 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 等

请帮我谢谢你

【问题讨论】:

    标签: c# sql visual-studio-2010 datagridview autocomplete


    【解决方案1】:

    我通过为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;
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 2018-06-04
      • 2021-10-01
      • 2015-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多