【问题标题】:Get Cell value from WPF Datagrid (in vb)从 WPF Datagrid 获取单元格值(在 vb 中)
【发布时间】:2011-12-22 05:29:54
【问题描述】:

您好,我正在将旧的 vb.net 程序转换为 WPF,但遇到了问题。我将一些数据导入数据表并将其转储到数据网格中。我现在需要逐行提取单元格值并使用它们来更新适当的数据库记录。

这在我的旧程序中使用:

For i = 0 To DataGridView1.Rows.Count - 1

cellvalue = Me.datagrid.Items(i).Cells(8).Value).ToString

(insert to database) etc

next

我一直在四处寻找,显然它在 WPF 中并不那么简单。但是我能找到的所有工作示例都在 C# 中,我不太熟悉并且似乎无法转换为工作。因此,如果有人可以提供一些代码(在 vb 中),将不胜感激。

【问题讨论】:

  • 你知道this converter吗?
  • @HB:他正在将 WinForms 转换为 WPF。

标签: wpf vb.net wpfdatagrid


【解决方案1】:

如果您已经有一个包含数据的 DataTable,那么使用它非常容易:

Dim dt As New System.Data.DataTable
'...Load your data into DataTable

For Each rw As System.Data.DataRow In dt.Rows
   cellValue = rw(8).ToString
   '...insert to database
Next

【讨论】:

  • 是的,但我可能在导入之前更改了数据网格中的数据:(
  • 如果您已将 DataTable 绑定为 DataGrid 的 ItemsSource,那么当您更新 DataGrid 时,也会更新 DataTable。在 WPF 中,使用底层数据对象通常比直接使用 UI 上的控件更好。
  • 哦,我不确定这是否会改变事情 - 无论如何我找到了不同的方式 2 感谢您的帮助
  • 啊!它不会让我回答自己 - 荣誉都是你的!
  • 实际上,我在旧代码中找到了 Windows 窗体数据网格上“clickevent”的答案:-------- -------------------------------------------------- -------------------------------------------------- ---------------------------------------------- 对于每个项目作为DataRowView 在 datagrid.Items --------------------------------------------------------- ----------------------------------cellvalue = item.Item("ColumnName") ------ -------------------------------------------------- -------------------------------------(插入数据库)等-------- --------------------------------------------------------下一个
【解决方案2】:
For Each item As DataRowView In datagrid.Items    
cellvalue = item.Item("ColumnName") 
(insert to database) 
next 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多