我在MSSQL数据库中使用c#winforms。我在数据库“ Pilots”中有表,我用来自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/zh-cn/library/system.windows.forms.datagridviewrow.databounditem( v=vs.110) .aspx
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句