代碼的對象:異常類型的則「」,無法轉換類型「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:當然,我想要一些解決方案來擺脫錯誤,這就是爲什麼發佈錯誤。 –