как пометять местами ряды в таблице ?

guzich
Дата: 29.04.2007 15:34:24
пытаюсь сделать вот так :

  protected void Button3_Click3(object sender, EventArgs e)
    {
        DataTable a = (DataTable)Session[Session.SessionID];
        DataTable tmpDataTable = a.Copy();
        
       
       
       int i = GridView1.SelectedRow.RowIndex;
       if (i > 0)
       {
           
           a.Rows.InsertAt(tmpDataTable.Rows[i],i-1);
           a.Rows.InsertAt(tmpDataTable.Rows[i-1],i);
           GridView1.DataSource = a;
           GridView1.DataBind();
           }

получаю ексэпшн this row is already belongs to another table

как это можно сделать ??? памагите ???
forw
Дата: 29.04.2007 16:18:55
Примерно так, не уверен на счет синтаксиса (не проверял) 
protected void Button3_Click3(object sender, EventArgs e)
    {
        DataTable a = (DataTable)Session[Session.SessionID];           
       
       int i = GridView1.SelectedRow.RowIndex;
       if (i > 0)
       {
           DataRow row = a.Rows[i-1];
           a.Rows.RemoveAt(i-1);           
           a.Rows.InsertAt(row,i);
           GridView1.DataSource = a;
           GridView1.DataBind();
           }
Суть в том, что row может принадлежать только одной таблице, поэтому его сначала удалить из таблицы, а только после этого уже вставлять
guzich
Дата: 29.04.2007 17:00:58
Суть в том, что row может принадлежать только одной таблице, поэтому его сначала удалить из таблицы, а только после этого уже вставлять ----- О !!! ВОТ ОНА ИСТИНА !!!!!!!!!!!!

Спасибо !!!!!!!