我是VB.net的新手(编程)。我需要你对Gridview控件的建议。
我有一个gridview加载了两列 - 一列(Name)带有一些Text,另一列(Price)为空。
我有一个TextBox,其中包含Name和Price的数据。
现在,我想遍历文本框,看看GridView控件的列(名称)的数据/符号是否与文本框中的数据匹配。
如果GridView的第一列数据的名称与文本框的名称匹配,则应在GridView的第二列(价格)中获取价格数据。
为了说得更清楚,请说:
我在文本框中有以下数据:
名称 - 价格
AB-50
DE-80
我在GridView中有两列具有以下设置:
名称(第1栏) - 价格(第2栏)
AB-空蓝 DE-空
现在,我如何获取Textbox的Price Data,并将它们提取到与Column1的Names匹配的Gridview的Column2中。因此,GridView中的输出应为:
名称(第1栏) - 价格(第2栏)
AB- 50
DE-80
到目前为止,我已经能够遍历GridView的第一列...... ..我不知道如何从Textbox获取数据并将数据提取到GridView的Column2中。
任何建议都将受到高度赞赏。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Data of GridView Dim dt As New DataTable() dt.Columns.Add("Name") dt.Columns.Add("Price") dt.Rows.Add(New [Object]() {"AB"}) dt.Rows.Add(New [Object]() {"DE"}) Me.DataGridView1.DataSource = dt 'Data of Textbox TextBox1.Text = "AB, 50" & vbNewLine & "DE, 100" End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'loop through the gridview Dim marketvalue As String For Each r As DataGridViewRow In Me.DataGridView1.Rows marketvalue = r.Cells(0).Value MessageBox.Show(marketvalue) Next End Sub End Class
答案 0 :(得分:0)
我会使用单独的函数从TextBox中获取价格
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'loop through the gridview
Dim marketvalue As String
Dim price As String
For Each r As DataGridViewRow In Me.DataGridView1.Rows
marketvalue = r.Cells(0).Value
MessageBox.Show(marketvalue)
'Get the price by calling a function and update it back to the DataGrid
price = get_price(marketvalue)
r.Cell(1).Value = price
Next
End Sub
以下函数可以通过传递name参数返回价格,否则如果找不到名称则返回空白
Private Function get_price(ByVal strName As String) As String
Dim string_array() As String = TextBox1.Text.Split(System.Environment.vbNewLine)
For Each s As String In string_array
Dim string_detail() As String = s.Split(",")
If string_detail(0) = strName Then
Return Trim(string_detail(1))
End If
Next
Return ""
End Function