如何使用DataGridView搜索和编辑表

时间:2014-01-28 07:15:52

标签: sql vb.net winforms datagridview

我有一个SQL数据库,其中包含一个表“Employees”(包含大量行)。通过使用DataGridView,我想搜索特定的“员工姓名”并更改它的“工作”。我怎样才能做到这一点。我正在使用VB.net。请帮助我。

2 个答案:

答案 0 :(得分:2)

不确定这是否会有所帮助,但是如果找到匹配则会写出一个遍历所有值的循环,如果不是,则为true,如果发现该项目可以显示在文本框中并进行编辑 如果没有显示消息说"找不到匹配"

编辑部分可以使用一个程序完成,该程序将使用输入的内容更新网格中的值

如果需要,我可以为此提供代码,但我不确定这是否是您所希望的 并且最有可能采用更好的方式

答案 1 :(得分:0)

您可以遍历网格,并使用For循环检查您要编辑的数据是否存在:

假设您使用文本框作为输入,并使用标签来保存员工ID:

Dim EmpIDColumn as Integer = 'array number of your EmpID Column
Dim EmpNameColumn as Integer = 'The array number of the column where your EmpName is

Dim JobColumn as Integer = 'The array number of your job column
For each dr as Datagridviewrow in Datagridview1.Rows
    If dr.cells(EmpNameColumn).value = TxtSearchBox.text Then
      txtEmpJob.text = dr.cells(JobColumn).value
      lblEmpID.Text = dr.cells(EmpIDColumn).value
    End if
Next

好的,所以您已成功搜索了该记录。下一步(在编辑作业之后,甚至其他细节如名称)将更新网格中的记录。还记得你在列中将lblEmpID的文本设置为empID吗?用它来找到 使用上述相同的技术记录您希望在网格中更改的内容!

Dim EmpIDColumn as Integer = 'array number of your EmpID Column
Dim EmpNameColumn as Integer = 'The array number of the column where your EmpName is

Dim JobColumn as Integer = 'The array number of your job column

 For each dr as Datagridviewrow in Datagridview1.Rows
    If dr.cells(EmpIDColumn).value = lblEmpID.text Then
       dr.cells(JobColumn).value = txtEmpJob.text
       dr.cells(EmpNameColumn).value = txtEmpName.text
        'then, type in here your SQL Query Update!
    End if
Next