【发布时间】:2017-10-31 22:24:09
【问题描述】:
我通过删除现有列并根据给定表添加新列来动态生成 GridView。它显示了数据,但我在即时窗口中遇到了大量错误。
System.Windows.Data 错误:39:BindingExpression 路径错误:在“对象”“DataRowView”(HashCode=39346072)上找不到“MainPartnerName”属性。 BindingExpression:Path=MainPartnerName; DataItem='DataRowView' (HashCode=39346072);目标元素是'TextBlock'(名称='');目标属性是“文本”(类型“字符串”)
Private Sub SetupGridView(ByVal objTable As Object)
'remove existing columns
Dim gv As GridView = lvClientsView.View
For x As Integer = gv.Columns.Count - 1 To 0 Step -1
gv.Columns.RemoveAt(x)
Next
'add new column for each column in table
For Each col As DataColumn In objTable.Columns
Dim gvCol As GridViewColumn = Nothing
gvCol = New GridViewColumn
gvCol.Header = col.ColumnName
gvCol.DisplayMemberBinding = New Binding(col.ColumnName)
gv.Columns.Add(gvCol)
Next
Dim bnd As New Binding
bnd.Source = objTable
lvClientsView.SetBinding(ListView.ItemsSourceProperty, bnd)
End Sub
我的 XAML 很简单:
<ListView Name="lvClientsView" DockPanel.Dock="Top" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="lvClientsViewItem_PreviewMouseLeftButtonUp" />
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
</GridView>
</ListView.View>
</ListView>
我正在动态拆除和重建视图。如何删除表格和绑定,以便分配不同的表格和绑定?
【问题讨论】:
-
为什么 objTable 是一个对象?你没有专门的课程吗?
-
@Isma 我有两个不同的表,列名不同。所以我的问题是“如何删除与第一个表相关的所有内容,以便它可以从头开始重建”?