datagridview 整行上移下移
来源:互联网 发布:波兰惨案知乎 编辑:程序博客网 时间:2024/05/20 07:32
设计器中只是添加了按钮和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;
}
}
如果不是从数据源获取数据:
/// <summary>
/// 上移
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void upBtn_Click(object sender, EventArgs e)
{
try
{
DataGridViewSelectedRowCollection dgvsrc = this.parameterDGView.SelectedRows;//获取选中行的集合
if (dgvsrc.Count > 0)
{
int index = this.parameterDGView.SelectedRows[0].Index;//获取当前选中行的索引
if (index > 0)//如果该行不是第一行
{
DataGridViewRow dgvr = this.parameterDGView.Rows[index - dgvsrc.Count];//获取选中行的上一行
this.parameterDGView.Rows.RemoveAt(index - dgvsrc.Count);//删除原选中行的上一行
this.parameterDGView.Rows.Insert((index ), dgvr);//将选中行的上一行插入到选中行的后面
for (int i = 0; i < dgvsrc.Count; i++)//选中移动后的行
{
this.parameterDGView.Rows[index - i-1].Selected = true;
}
}
}
}
catch{}
}
/// <summary>
/// 下移
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void downBtn_Click(object sender, EventArgs e)
{
try
{
DataGridViewSelectedRowCollection dgvsrc = this.parameterDGView.SelectedRows;//获取选中行的集合
if (dgvsrc.Count > 0)
{
int index = this.parameterDGView.SelectedRows[0].Index;//获取当前选中行的索引
if (index >= 0&(this.parameterDGView.RowCount-1)!=index)//如果该行不是最后一行
{
DataGridViewRow dgvr = this.parameterDGView.Rows[index +1];//获取选中行的下一行
this.parameterDGView.Rows.RemoveAt(index +1);//删除原选中行的上一行
this.parameterDGView.Rows.Insert((index+1-dgvsrc.Count), dgvr);//将选中行的上一行插入到选中行的后面
for (int i = 0; i < dgvsrc.Count; i++)//选中移动后的行
{
this.parameterDGView.Rows[index+1-i].Selected = true;
}
}
}
}
catch { }
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/DiggerCore/archive/2010/07/09/5722243.aspx
- datagridview 整行上移下移
- datagridview 整行上移下移
- datagridview 选中行上移下移
- datagridview记录指针上移/下移
- FLEX DATAGRID 行上移/下移
- GridView 行交换 ,上移 下移
- js table 行上移、下移
- VB DataGridView中上移下移功能的实现
- GridView 行交换 GridView 行上移下移
- table行的上移下移 上下移动
- table 行上移 下移 置顶 删除
- datagrid实现行的上移和下移
- DevExpress GridControl 行记录上移,下移功能
- listBox 上移下移
- div 上移下移技术
- table : 上移,下移,置顶
- jquery select 上移下移
- jquery 控制 上移 下移
- iphone 中打开或关闭软键盘时调整 UIScrollView 的大小
- wireshark抓包分析
- Ubuntu 10.04 安装记录 [Samsung R700]
- strcpy_s 用法 及 指针数组的理解
- 个人技术博客
- datagridview 整行上移下移
- 总结的编码规范
- GWT 实现文件上传和下载
- 总结的编码规范
- 总结的编码规范
- SYS_CONNECT_BY_PATH 函数用法 ORACLE
- Oracle10g 安装
- 谁知道Ubuntu10.04 无法播放声音是怎么回事?
- 总结的编码规范