代码的对象:异常类型的则“”,无法转换类型“MS.Internal.NamedObject”在前端为类型“System.Data.DataRowView”
<ListView Name="lvCus" MouseDoubleClick="ListViewItem_DoubleClick">
<ListView.View>
<GridView AllowsColumnReorder="true" ColumnHeaderToolTip="TbCus">
<GridViewColumn Header="CusID" Width="40" DisplayMemberBinding="{Binding Path=CusID}" />
<GridViewColumn Header="Firstname" Width="120" DisplayMemberBinding="{Binding Path=fn}" />
<GridViewColumn Header="Lastname" Width="120" DisplayMemberBinding="{Binding Path=ln}" />
<GridViewColumn Header="Dob" Width="100" DisplayMemberBinding="{Binding Path=dob}" />
<GridViewColumn Header="Age" Width="60" DisplayMemberBinding="{Binding Path=age}" />
</GridView>
</ListView.View>
</ListView>
下面是代码在后端:
private void ListViewItem_DoubleClick(object sender, RoutedEventArgs e)
{
System.Data.DataRowView cusObj = (System.Data.DataRowView)lvCus.SelectedItem;
var myobj = cusObj.Row.ItemArray;
txtCusID.Text = myobj[0].ToString();
txtfn.Text = myobj[1].ToString();
txtln.Text = myobj[2].ToString();
txtdob.Text = myobj[3].ToString();
txtage.Text = myobj[4].ToString();
}
ListView加载数据,它似乎有一个空行在最后。当我点击ListView的空行时,出现以下错误:
A first chance exception of type 'System.InvalidCastException' occurred in WpfApp.exe
Additional information: Unable to cast object of type 'MS.Internal.NamedObject' to type 'System.Data.DataRowView'.
If there is a handler for this exception, the program may be safely continued.
我得到了上面的错误,我该如何解决这个问题?伙计们,我正处于学习阶段。
你能不要添加空值检查到您选择的项目?这可能是因为试图对空项目进行强制转换。 –
你的问题到底是什么? – Tim
@Tim:当然,我想要一些解决方案来摆脱错误,这就是为什么发布错误。 –