0
我正在使用此代码打开表单。这个相同的代码会在我的应用程序中打开其他表单,但在这种情况下,它会导致错误,我不知道为什么。Datagridview尝试打开表单时出错
private void dataGridView2_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
System.Data.DataRowView SelectedRowView;
waterDataSet.DEMRow SelectedRow;
**SelectedRowView = (System.Data.DataRowView)waterDataSetBindingSource.Current;**
SelectedRow = (waterDataSet.DEMRow)SelectedRowView.Row;
frmWater WaterForm = new frmWater(this);
WaterForm.LoadWaterAcct(SelectedRow.WATER_ACCOUNT, null);
WaterForm.Show();
}
我正的错误是:
System.InvalidCastException了未处理 消息=无法转换类型 'System.Data.DataViewManagerListItemTypeDescriptor' 的目的为类型 'System.Data.DataRowView' 。
在DataGridView正在填充这个:
public void LoadWaterAcct(String waterAcct, String tableName)
{
aRTableAdapter.FillByWaterAct(waterDataSet.AR, waterAcct);
}
该错误是由加粗线触发。任何帮助将不胜感激。
punker76感谢您的答复。当我使用该代码时,selRowData将始终显示为空,因此表单无法打开。有任何想法吗? – korrowan 2012-02-08 15:25:27
@korrowan你可以发布什么selRow.DataBoundItem持有?是哪种类型? – punker76 2012-02-08 15:32:09
你可以更具体,因为我不确定什么是DataBoundItem或它应该保持什么。 – korrowan 2012-02-08 15:47:02