У меня есть DataGridView с
myGridView.DataSource = GetSomeData()
// method called
public IQueryable GetSomeData()
{
var source = from r in records
select r;
return source; // made correction from 'r' to 'source'
}
GetSomeData()
заполняет DataGridView, как и ожидалось. Пользователь выберет строку для редактирования, которая затем передает данные строки в форму. Поскольку DataGridViewRow.DataBoundItem
является анонимным типом, как я могу передать DataBoundItem
?
Я почти ожидал, что мой DataBoundItem будет IQueryable - неверно. Вот информация отладчика о свойстве DataBoundItem:
DataBoundItem {CustomerID = "3133",
Last_Name = "Смит", First_Name =
"Джон", AccountNumber = "JS3133",
ActiveYN = True} <анонимный тип>
Как только данные передаются в новую форму, я хотел бы сделать что-то вроде:
txtFName.Text = SomeEnumeratedObject["First_Name"];
txtLName.Text = SomeEnumeratedObject["Last_Name"];
Есть идеи, как мне это сделать? ИМО было бы еще лучше, если бы элементы управления в новой форме могли каким-то образом быть связаны с SomeEnumeratedObject
.
Можно ли запросить DataBoundItem
с помощью LINQ?
Edit:
Изменен метод:
public DataView GetSomeData()
{
var source = from r in records
select r;
DataTable table = ToDataTable(myContext, source);
return new DataView(table);
}
См. Полное решение здесь .