datagridview 整行上移下移

来源:互联网 发布:阿里指数能看淘宝吗 编辑:程序博客网 时间:2024/05/22 00:33

设计器中只是添加了按钮和datagridview,把datagridview的selectionMode设置为FullRowSelect
private DataTable dt;//定义一个datatable,作为datagridview的数据源

//给datatable赋初值
private void Form1_Load(object sender, EventArgs e)
{
dt = new DataTable();         

dt.Columns.Add("Id", typeof(System.Int32));
dt.Columns.Add("Code", typeof(System.String));
dt.Columns.Add("Name", typeof(System.String));

dt.Rows.Add(new string[3]{"1", "code1", "name1"});
dt.Rows.Add(new string[3]{"2", "code2", "name2"});
dt.Rows.Add(new string[3] { "3", "code3", "name3" });
dt.Rows.Add(new string[3] { "4", "code4", "name4" });
dt.Rows.Add(new string[3] { "5", "code5", "name5" });

dataGridView1.DataSource = dt;
}

//上移
private void btnUp_Click(object sender, EventArgs e)
{
dt = (DataTable)dataGridView1.DataSource;
int index = dataGridView1.SelectedRows[0].Index;

if (dataGridView1.CurrentRow.Index <= 0)
{
return;
}
else
{
DataRow tempRow = dt.NewRow();
tempRow[0] = dt.Rows[index][0];
dt.Rows.InsertAt(tempRow, index - 1);
dt.Rows.RemoveAt(index + 1);
dataGridView1.ClearSelection();
dataGridView1.Rows[index - 1].Selected = true;
dataGridView1.DataSource = dt;
}
}

//下移

private void btnDown_Click(object sender, EventArgs e)
{
int index = dataGridView1.SelectedRows[0].Index;
if (index == dt.Rows.Count - 1)
{
return;
}
else if (index == -1)
{
return;
}
else
{
DataRow tempRow = dt.NewRow();
tempRow[0] = dt.Rows[index][0];
dt.Rows.InsertAt(tempRow, index + 2);
dt.Rows.RemoveAt(index);
dataGridView1.ClearSelection();
dataGridView1.Rows[index + 1].Selected = true;
dataGridView1.DataSource = dt;
}
}

原创粉丝点击