私はPlayer
オブジェクトに私のDataGridView
にアクセスしたいと思います。 これは私がDataGridView
に私の選手リストをbingingてる方法です:タイプ 'System.Data.DataRowView'のオブジェクトをタイプxxxにキャストできません
PlayerList = new List<Player>(players);
//Populate Player list heere (...)
DataTable dt = Tools.ToDataTable<Player>(PlayerList);
Grid.DataSource = dt;
そして今、私は、ダブルクリックイベントで選択された行で私のPlayer
オブジェクトにアクセスしたい:
private void Grid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (Grid.SelectedCells == null)
{
return;
}
int row = Grid.SelectedCells[0].RowIndex;
//Here I get that exception from the title
((Player)(Grid.Rows[row].DataBoundItem)).KillPlayer();
}
わからないが、私はDataTable''に 'List'を変換することによって、あなたは実際の' Player'インスタンスを失うことを前提とはPlayerList [行] .KillPlayer() 'と直接インスタンスにアクセスしてみてくださいそれが動作するかどうかを確認してください。 –
これは、Tools.ToDataTableの機能に大きく依存します。 – sq33G