我生成一个类持有相同的数据视图的回报,所以我想 当我双击DataGridView中选择行铸造到我创建
使用这个类的集合 类型作为数据源的DataGridView的
List<MyClass> allData = GetDataFromDatabase();
gv_Search.DataSource = allData;
然后在行点击,您可以访问的MyClass
选择的实例0
var selected = (MyClass)gv_Search.Rows[e.RowIndex].DataBoundItem;
Console.WriteLine($"Selected Id = {selected.Id}"); // Use selected data
里面GetDataFromDatabase
你会读到从数据库中的数据直接到MyClass
var allItems = new List<MyClass>();
using (var connection = New SqlConnection(connectionString))
using (var command = New SqlCommand(query, connection))
{
connection.Open();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
var item = new MyClass
{
Id = reader.GetInt32(0),
Name = reader.GetString(1),
Birthdate = reader.GetDatetime(2)
};
allItems.Add(item);
}
}
}
return allItems;
你能施放按照这篇文章的实例? https://stackoverflow.com/questions/23520195/datagridview-how-to-cast-selected-row-to-custom-object#23520452 – CalC
当我使用'grid.SelectedRows [index]'它会抛出异常,索引超出范围 –
你是否在使用BindingSource?不需要向网格询问其选定的行。 – Crowcoder