一个小小的置顶,就搞了半个小时,还是记录一下吧。
1.第一个问题就是datatable的插入只能是Insert DataRow,但是获取选中的行,都是DataGridViewRow,不能直接转换。
找到了以下的解决办法:
其中dg表示DataGridViewRow。
DataRow dr = (dg.DataBoundItem as DataRowView).Row;
2.第二个问题就是因为是绑定数据,不能直接插入到第一行,也不能直接删除,所以必须复制这一行的数据。
找到了以下解决办法:
DataRow newDr = datatable.NewRow();
newDr.ItemArray = dr.ItemArray;
3.DataGridView选中Rows的问题,selectrows中的index不是按照实际上的行索引号来的,而是根据鼠标选择的先后顺序
4.贴上置顶的代码
1 private void ToolStripMenuItem_Top_Click(object sender, EventArgs e)
2 {
3 int nCounts = dataGridView_Barcode.SelectedRows.Count;
4 for (int i = nCounts - 1; i >= 0; i--)
5 {
6 DataGridViewRow dg = dataGridView_Barcode.SelectedRows[i];
7 DataRow dr = (dg.DataBoundItem as DataRowView).Row;
8 DataRow newDr = datatable.NewRow();
9 newDr.ItemArray = dr.ItemArray;
10 datatable.Rows.RemoveAt(dataGridView_Barcode.SelectedRows[i].Index);
11 datatable.Rows.InsertAt(newDr, 0);
12
13 }
14 }
手机扫一扫
移动阅读更方便
你可能感兴趣的文章