【发布时间】:2015-01-13 20:51:51
【问题描述】:
我正在尝试这样做,以便当用户在搜索文本框中键入时,它会将搜索结果缩小到特定行。刷新按钮也应该显示所有行。如何让它同时搜索所有列和行?每列的数据类型是字符串。我故意隐藏了主键列并使用 XML 来保持简单。
Public Class Form1
Private xmlDatabaseData As String = My.Application.Info.DirectoryPath & "\xmlPriceData.xml"
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
If My.Computer.FileSystem.FileExists(xmlDatabaseData) = True Then
ItemXMLData.ReadXml(xmlDatabaseData)
End If
End Sub
Private Sub txbSearch_TextChanged(sender As System.Object, e As System.EventArgs) Handles txbSearch.TextChanged
Me.ProductsBindingSource.ite = txbSearch.Text
End Sub
Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click
Me.Validate()
ProductsBindingSource.EndEdit()
ItemXMLData.WriteXml(xmlDatabaseData)
End Sub
Private Sub Form1_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Validate()
ProductsBindingSource.EndEdit()
ItemXMLData.WriteXml(xmlDatabaseData)
End Sub
Private Sub btnAdd_Click(sender As System.Object, e As System.EventArgs) Handles btnAdd.Click
ProductsBindingSource.AddNew()
End Sub
Private Sub btnDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnDelete.Click
Select Case MsgBox("Are you sure you want to delete the selected item? ", MsgBoxStyle.YesNo, "Confirm")
Case MsgBoxResult.Yes
Try
Me.ProductsBindingSource.RemoveCurrent()
Me.Validate()
Me.ProductsBindingSource.EndEdit()
ItemXMLData.WriteXml(xmlDatabaseData)
Catch ex As Exception
MsgBox(ex.Message)
End Try
Case MsgBoxResult.No
Case Else
End Select
End Sub
Private Sub btnRefresh_Click(sender As System.Object, e As System.EventArgs) Handles btnRefresh.Click
If My.Computer.FileSystem.FileExists(xmlDatabaseData) = True Then
ItemXMLData.ReadXml(xmlDatabaseData)
End If
End Sub
End Class
这是界面
这就是我添加一些数据并点击保存时的样子
还有桌子
【问题讨论】:
-
您发布的代码对 XML 没有任何作用。你读写
ItemXMLData,但你永远不会改变它。改变它的代码在哪里? -
也许你最好告诉我们
ItemXMLData是如何定义的。 -
感谢您指出标题。当我调试它通过单击添加按钮添加行。我可以在单元格上写任何东西点击保存并保存它。如果我在特定单元格上更改它并单击保存它就可以完成这项工作。我以为我不需要额外的代码来更改它们。我的目标是将 xml 文件作为数据源,这样如果程序要安装在另一台机器上,我就可以复制和粘贴包含所有数据的单个 xml 文件。这样我就不必重新输入所有记录。如果这不是一个好方法,请提出建议。
标签: xml vb.net visual-studio-2010 datagridview