我在MSSQL数据库中使用C#winforms。
我在“飞行员”数据库中有表格
,我用来自Pilots表的数据填充datagridview“dgvPilots”。
dgvPilots.DataSource = Connection.dm.Pilots.ToList();
我启用多选。
现在我需要从datagridview获取多选数据。
我如何将选择的行转换为“Pilots”对象并获取PilotsID。
我当前的错误是“无法将对象类型DataGridViewRow强制转换为“.Data.Pilots”类型...
我也尝试这样铸造
dgvPilots.SelectedRows.Cast<Pilots>().ToList();
但它返回DataGridViewRow项类型。
最佳答案
您将需要迭代该集合,并遵循作为基础数据的DataBoundItem属性。
var pilots = new List<Pilots>(grid.SelectedRows.Count);
for(int index = 0; index < grid.SelectedRows.Count; index++)
{
var selectedRow = grid.SelectedRows[index];
var pilot = (Pilots)selectedRow.DataBoundItem;
pilots.Add(pilot);
}
上面的代码显示了如何实现此目的(我徒手编写了代码,以免出现语法错误)。
这是有关DataBoundItem属性的msdn文章:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow.databounditem(v=vs.110).aspx