【发布时间】:2014-07-17 00:03:27
【问题描述】:
我是 vb.net 的新手
所以我要做的是向数据网格添加行。我已经能够通过添加以下内容来实现这一点:
Public Class X
Public Sub Button_Click(sender As Object, e As RoutedEventArgs)
InitializeComponent()
Dim items As New List(Of reportLine)()
listview1.ColumnWidth = New DataGridLength(240)
items.Add(New reportLine() With {.Items = "Total Project Funding", .Amount = 42.0})
items.Add(New reportLine() With {.Items = "Sammy Doe", .Amount = 7})
items.Add(New reportLine() With {.Items = "Sammy Doe", .Amount = 7})
items.Add(New reportLine() With {.Items = "Sammy Doe", .Amount = 7})
items.Add(New reportLine() With {.Items = "Sammy Doe", .Amount = 99})
datagrid1.ItemsSource = items
End Sub
Private Sub rptLine(ByRef rptItem As String, ByRef rptAmount As Double)
Dim items As New List(Of reportLine)()
items.Add(New reportLine() With {.Items = rptItem, .Amount = rptAmount})
datagrid1.ItemsSource = items
End Sub
End Class
Public Class reportLine
Public Property Items() As String
Public Property Amount() As Integer
End Class
我想要做的是能够像这样在按钮点击事件中添加一行
rptLine("Report Line", 450)
rptLine("Report Line", 450)
rptLine("Report Line", 450)
我意识到每次调用 rptLine Sub 时都会创建 Itemsource 的新实例。我已经尝试了很多方法来让它发挥作用,但每一种都遇到了障碍。
提前感谢您的帮助。
【问题讨论】:
-
您使用的是什么版本的 Visual Studio?您的对象称为 ListView1,但您谈论的是 GridView,我在 VS 2010 中没有看到。另外,您说您已经尝试了很多东西,但请分享更多细节 - 分享您的研究对每个人都有帮助。告诉我们您尝试了什么以及为什么它不能满足您的需求。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见how to ask
-
至少有很多问题,很难知道从哪里开始。但我会尝试:a) 这是 WinForms 还是 WebForms? b) 为什么是 Datagrid 与 DataGridView? c) 它真的是 DataGrid 还是 ListView? d) 为什么在点击事件中出现
InitializeComponent(参见“a”)? e) 为什么所有列表数组(包含更多数组?) f) 甚至编译或运行?