在datagridview中,双击一行数据,进入该行数据的编辑界面,编辑后点击保存,返回到达datagridview所在的界面。
问:如何把当前编辑的那行数据显示在datagridview的第一行?意思就是把编辑的那行移动到第一行。不需要单条的插入,只要第一行显示编辑的那条记录就行了。我现在只能把焦点定位在那一行,但是不知道如何把它移动到第一行。
请各位大哥帮忙,谢谢!
问:如何把当前编辑的那行数据显示在datagridview的第一行?意思就是把编辑的那行移动到第一行。不需要单条的插入,只要第一行显示编辑的那条记录就行了。我现在只能把焦点定位在那一行,但是不知道如何把它移动到第一行。
请各位大哥帮忙,谢谢!
解决方案 »
- 高分求解,C#调用COM的问题,out参数只能返回第一个元素的值
- 请问,窗体最小化引发的事件是哪个?
- WinForm中TreeView的高亮选中显示问题?急,高手指点!
- 关与datagridview的取内容问题!
- C#中Socket编程实现类似QQ聊天的功能,IP地址无法确认!
- 谁有office 2000 developer光盘中带的Adoproperties.doc,急!
- 请问谁有《asp.net 网站开发典型模块与实例精讲》这本书的光盘?帮个忙吧!
- 外网无法连接到HttpListener 已经做过端口映射
- 请教Asp.Net(C#)连接SQL Server的问题
- C#中DllImport一个系统API函数,该函数的一个参数是指向指针的指针,该指针的指针怎么描述呢?
- 在socket编程中可以同时存在tcp和udp两种协议吗?
- 現在哪里还有C#2003的WinForm程序源代码下载?
private void button4_Click(object sender, EventArgs e)
{
try
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID", typeof(string)));
dt.Columns.Add(new DataColumn("Name", typeof(string))); DataRow dr = dt.NewRow();
dr[0] = "1";
dr[1] = "t1";
dt.Rows.Add(dr); DataRow dr2 = dt.NewRow();
dr2[0] = "2";
dr2[1] = "t2";
dt.Rows.Add(dr2); this.dataGridView1.DataSource = dt;
}
catch { }
} private DataGridViewRow dvr;
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
try
{
int i = e.RowIndex;
dvr = dataGridView1.Rows[i];
DataTable dt = dataGridView1.DataSource as DataTable;
DataRowView drv = dvr.DataBoundItem as DataRowView;
DataRow newRow = dt.NewRow();
newRow.ItemArray = drv.Row.ItemArray;
dt.Rows.Remove(drv.Row);
dt.Rows.InsertAt(newRow, 0);
dt.AcceptChanges();
//dataGridView1.Rows[0].Selected = true;
}
catch (Exception ex)
{
throw ex;
}
}
2.在第一行插入一條New DataRowView,并按照選定行賦值(或在1之前就先復制)﹐開始編輯注意﹕只能適用于不排序的DataView和Grid.添加和刪除的一定要是DataRowView﹐千萬不要刪DataRow
否則沒法取消操作了.也不能更新了
DataGridView.FirstDisplayedScrollingRowIndex 属性
注意:此属性在 .NET Framework 2.0 版中是新增的。 获取或设置某一行的索引,该行是显示在 DataGridView 上的第一行。
属性值
某一行的索引,该行是显示在 DataGridView 上的第一行。
打个比方我有20条数据,datagridview如果想编辑第18行就要拉滚动条。
当我编辑完第18行返回界面时,第18行在第一条显示,如果想看1到17行的,只能往上拉滚动条,
而不是18行在第一行。
DataGridView.FirstDisplayedScrollingRowIndex 属性 比如:
this.dataGridView1.FirstDisplayedScrollingRowIndex = 5;
这样会使dataGridView1的索引是5的记录尽量的显示到了第一行上.
谢谢。