在datagridview中,双击一行数据,进入该行数据的编辑界面,编辑后点击保存,返回到达datagridview所在的界面。
问:如何把当前编辑的那行数据显示在datagridview的第一行?意思就是把编辑的那行移动到第一行。不需要单条的插入,只要第一行显示编辑的那条记录就行了。我现在只能把焦点定位在那一行,但是不知道如何把它移动到第一行。
请各位大哥帮忙,谢谢!

解决方案 »

  1.   

    试验了一下比较麻烦
    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.   

    你的DataGridView 是直接绑定的数据吗?如果是,直接更改数据源数据顺序,再重新绑定即可...
      

  3.   

    http://community.csdn.net/Expert/topic/5397/5397555.xml?temp=.3033563
      

  4.   

    1.將所選定的那一行的DataRowView刪除
    2.在第一行插入一條New DataRowView,并按照選定行賦值(或在1之前就先復制)﹐開始編輯注意﹕只能適用于不排序的DataView和Grid.添加和刪除的一定要是DataRowView﹐千萬不要刪DataRow
    否則沒法取消操作了.也不能更新了
      

  5.   

    要这样就好说了:.NET Framework 类库  
    DataGridView.FirstDisplayedScrollingRowIndex 属性  
    注意:此属性在 .NET Framework 2.0 版中是新增的。 获取或设置某一行的索引,该行是显示在 DataGridView 上的第一行。 
    属性值
    某一行的索引,该行是显示在 DataGridView 上的第一行。
      

  6.   

    不是单单指那一行移动到上面。。
    打个比方我有20条数据,datagridview如果想编辑第18行就要拉滚动条。
    当我编辑完第18行返回界面时,第18行在第一条显示,如果想看1到17行的,只能往上拉滚动条,
    而不是18行在第一行。
      

  7.   

    maotin(liu) 那种就是把那一行插到第一个位置,我的意思是不要插,滚动到那一条就可以了饿
      

  8.   

    那你就是设置这个属性了:
    DataGridView.FirstDisplayedScrollingRowIndex 属性 比如:
    this.dataGridView1.FirstDisplayedScrollingRowIndex = 5;
    这样会使dataGridView1的索引是5的记录尽量的显示到了第一行上.
      

  9.   

    谢谢各位兄弟,尤其hbxtlhx(平民百姓)。
    谢谢。