简单的问题。我有一个使用 DataTable 设置的 dataGridView,然后在 DataTable 之后为按钮添加 2 列。当我点击一个索引为 6 的按钮时,它给了我索引 1,这是我的第一个按钮。
DataTable cartResults = cart.RunCartQuery(sb.ToString());
dgCart.DataSource = cartResults;
// Add a button to the DataGridView at the specified position
DataGridViewButtonColumn btnEdit = new DataGridViewButtonColumn();
btnEdit.Name = "btnEdit";
btnEdit.Text = "Edit";
btnEdit.HeaderText = "Edit Quantity";
btnEdit.UseColumnTextForButtonValue = true;
dgCart.Columns.Insert((int)Buttons.Edit, btnEdit);
DataGridViewButtonColumn btnDelete = new DataGridViewButtonColumn();
btnDelete.Name = "btnDelete";
btnDelete.Text = "Delete";
btnDelete.HeaderText = "Delete";
btnDelete.UseColumnTextForButtonValue = true;
//dgCart.Columns.Insert((int)Buttons.Delete, btnDelete);
dgCart.Columns.Add(btnDelete);
我不知道为什么返回的索引是 1(即编辑按钮)而不是我的删除按钮,即索引 6。有什么想法吗?
问题的根源是DataGridView.DataSource是一个DataTable,然后我在设置数据源后添加了2个按钮列。即使我在索引 1 和 6 处添加了按钮,DatagridView 仍认为它们位于索引 0 和 1。即使 Grid 在表单上看起来不错。