微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – gridview文本框中的自动完成功能

我有两个gridview文本框列.我在gridview的文本框列中单独使用自动完成,但两个gridview文本框列都’
自动完成正在混合这些列中的数据.

如何在不混合article_code和yarn_count的数据的情况下显示自动完成?

这是我的代码

AutoCompleteStringCollection namesCollection4=new AutoCompleteStringCollection(); 
string query = "select article_code from article_production";
con.open();
sqlCommand cmb = new sqlCommand(query,con);
sqlDataReader dr = cmb.ExecuteReader();
if (dr.HasRows == true)
{
    while (dr.Read())
    {
        namesCollection4.Add(dr["article_code"].ToString());

    }
}
else
{
    MessageBox.Show("Data not found");
}

con.Close();
dr.Close();
int column = dataGridView1.CurrentCell.ColumnIndex;

if(column==8)
{
    TextBox tb = e.Control as TextBox;

    if (tb != null)
    {
        tb.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        tb.AutoCompleteCustomSource = namesCollection4;
        tb.AutoCompleteSource = AutoCompleteSource.CustomSource;

    }

}

第二个Gridview列

AutoCompleteStringCollection namesCollection1=new AutoCompleteStringCollection(); 
string query1 = "select yarn_count from yarn";
con.open();
sqlCommand cmb1 = new sqlCommand(query1,con);
sqlDataReader dr1 = cmb1.ExecuteReader();
if (dr1.HasRows == true)
{
    while (dr1.Read())
    {
        namesCollection1.Add(dr1["yarn_count"].ToString());

    }
}
else
{
    MessageBox.Show("Data not found");
}

con.Close();
dr1.Close();
int column1 = dataGridView1.CurrentCell.ColumnIndex;

if (column1 == 9)
{

    TextBox tb1 = e.Control as TextBox;

    if (tb1 != null)
    {
        tb1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        tb1.AutoCompleteCustomSource = namesCollection1;
        tb1.AutoCompleteSource = AutoCompleteSource.CustomSource;
    }

}

解决方法

AutoCompleteStringCollection namesCollection1=new AutoCompleteStringCollection(); 
string query1 = "select yarn_count from yarn";
con.open();
sqlCommand cmb1 = new sqlCommand(query1,con);
sqlDataReader dr1 = cmb1.ExecuteReader();
if (dr1.HasRows == true)
{
    while (dr1.Read())
    {
        namesCollection1.Add(dr1["yarn_count"].ToString());

    }
}
else
{
    MessageBox.Show("Data not found");
}

con.Close();
dr1.Close();
int column1 = dataGridView1.CurrentCell.ColumnIndex;

if (column1 == 9)
{

    TextBox tb1 = e.Control as TextBox;

    if (tb1 != null)
    {
        tb1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        tb1.AutoCompleteCustomSource = namesCollection1;
        tb1.AutoCompleteSource = AutoCompleteSource.CustomSource;
    }

}
else
{
namesCollection1.Clear();
}
finally{con.Close();}

I Find the Solution i forgot to write else conditioned

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐