从SQL Server中搜索数据并显示到文本框和数据网格VB.Net上



我想从SQL Server检索数据并显示到TextboxDataGrid中。我希望来自请求框的数据显示在文本框中,左联接表显示在数据网格中。

con.Open()
cmd.Connection = con
cmd.CommandText = "select * from requestbox left join requisitiondata on requisitiondata.requestdata_id = requisitiondata.requestdata_id where request_box = '" & txtsearch.Text & "'"
cmd.ExecuteNonQuery()
Dim TABLE As New DataTable
With da
.SelectCommand = cmd
.Fill(TABLE)
End With

cbspayment.Text = ("spayment").ToString()
cbsoption.Text = ("soption").ToString()
txtto.Text = ("to1").ToString()
txtsupplier.Text = ("supplier").ToString()
txtterms.Text = ("terms").ToString()
txtreference.Text = ("reference").ToString()
txtfrom.Text = ("from1").ToString()
txtcharge.Text = ("charge").ToString()

如果您只希望数据的某些列显示在网格中,那么您应该在设计器中将所需的列添加到网格中。通过设置网格列的DataPropertyName,可以指定网格列应绑定到数据源中的哪一列。然后,如果需要,您可以将数据绑定到网格和其他控件。例如:

  1. DataGridViewBindingSourceTextBox添加到表单中
  2. 将单个文本框列添加到网格中,并将其DataPropertyName设置为"Name"
  3. 为表单的Load事件创建一个处理程序,并添加以下代码:
Dim table As New DataTable
With table.Columns
.Add("Name", GetType(String))
.Add("Description", GetType(String))
End With
With table.Rows
.Add("One", "First")
.Add("Two", "Second")
.Add("Three", "Third")
End With
BindingSource1.DataSource = table
DataGridView1.AutoGenerateColumns = False
DataGridView1.DataSource = BindingSource1
TextBox1.DataBindings.Add("Text", BindingSource1, "Description")

当您运行项目时,您将看到Name列的数据显示在网格中,当您选择一行时,您会看到TextBox中显示的Description列中的相应值。无论您希望在网格中显示多少列,无论您有多少TextBoxes,无论您如何填充DataTable,都可以应用相同的原理。

最新更新