-5

我是 c# 的新手,当用户输入要搜索的内容时,我有一个TextBox和一个,单击搜索按钮时会成功填充。但我担心的是搜索按钮使用 ENTER KEY 来搜索 gridview 中的数据。gridviewTextboxgridview

private void textBox3_TextChanged(object sender, KeyPressEventArgs e1, EventArgs e) 
{
    if (e1.KeyCode == Keys.Enter) 
    { 
       string sql = "[DocEntry],[JobCardNo],[ITEMNAME],[OD] ,[PlanQty],
                      [FinalInspectionRemarks] ,[OrderDate] ,[Division]
                          WHERE JobCardNo ='" + textBox3.Text.ToString() + "'";  
       SqlDataAdapter da = new SqlDataAdapter(sql, objConn1); DataSet ds = new DataSet(); 
       objConn1.Open(); 
       da.Fill(ds, "ProductionInventoryReport"); 
       dataGridView1.DataSource = ds; //dataGridView1.DataBind();  
       dataGridView1.DataMember = "ProductionInventoryReport"; 
       objConn1.Close(); e1.Handled = true; 
     } 
 } 

我试过这个但没有工作

4

3 回答 3

1

您可以使用AcceptButton属性。在您的构造函数Form_Load事件
中尝试以下代码。

this.AcceptButton =  //give your search Button name here


如果要删除搜索按钮,则可以使用以下代码:(粗略代码)

Button btnSearch = new Button();  //Create a New Button
btnSearch.Visible = false;         //Optional
btnSearch.Click += new EventHandler(/*Your Method name for Search*/);
this.AcceptButton = btnSearch;
于 2012-11-30T09:58:23.050 回答
0

而不是 TextChanged 事件在KeyPress事件上执行。

首先将事件附加到文本框,无论是在设计器中还是在如下代码中:

textBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox3_KeyPress);

然后

 private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)13) // enter key pressed
            { 
             //searchMethod(); 
            }
        }

如果您将搜索代码提取到单独的方法中,然后针对您的搜索按钮和 KeyPress 事件调用相同的方法,则效果会更好。

于 2012-11-30T09:56:27.277 回答
0
private void textBox3_KeyDown(object sender, KeyEventArgs e) {

    if (e.KeyCode == Keys.Enter)
    {
        //Your searchMethod();
    }
}
于 2012-11-30T09:58:19.053 回答