まず、DataGridViewのデータコンテキストをジェネリッククラスから取得した匿名型に割り当てますCompany
。匿名型は、DataGridViewに表示される目的の列名を取得するために推奨されます。
var companyData = (from c in dataContext.Companies
select new
{
Company =c.CompanyName,
City=c.City.CityName,
});
dataGridView.DataContext = companyData;
ここで、MouseDoubleClickイベント時にselect行の値を取得したいと思います。しかし、問題は、匿名型をジェネリック型のCompanyに戻すことができないことです。
void dataGridView_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var selectedRow = dataGridView.SelectedItem[0];
// How to convert selectedRow back to Company ?
// Anonymous type have no implementation of AsEnumerable.
}
私はこのようなものが欲しい:
Company company = selectedRow.Select(c=>new Company
(CompanyName=selectedRow.Company,
CityName=selectedRow.City);
前もって感謝します。