dt.Merge(ds.Tables["message"].Select("classs_Id=" +ccrcid));
---------dt.Merge 后表---------------------
message_Id classs_Id   //ID
3           2   
4           2   
5           2   
6           2   
7           2   
8           2 
----------问题------------
1、怎么选者表message_Id的前10项、后10项、其中10项//根据dt.Tables["message"].Rows.Count能实现吗?还是在dw.Merge一次?
2、如果对dt.Tables["message"]新建立ID列。列值为当前dt.Tables["message"].Rows.Count。怎么实现?
--------问题2-------????
int i=0;
if (dt.Tables["message"].Rows.Count > 0) 
{     
dt.Tables["message"].Rows["id"]=Convert.ToString(i++);//错的。????怎么写
}

解决方案 »

  1.   

    message_Id的值是乱的。不一定是+1的
      

  2.   

    --------问题2-------????
    int i=0;
    if (dt.Tables["message"].Rows.Count > 0) 
    {     
    dt.Tables["message"].Rows["id"]=Convert.ToString(i++);//错的。????怎么写
    }
    没有指出是那一行
    dt.Tables["message"].Rows[0]["id"]=Convert.ToString(i++);
      

  3.   

    dt.Merge(ds.Tables["message"].Select("classs_Id=" +ccrcid));
    ----------问题------------
    1、怎么选者表message_Id的前10项、后10项、其中10项//根据dt.Tables["message"].Rows.Count能实现吗?还是在dw.Merge一次?
    DataRow[] _rows = ds.Tables["message"].Select("classs_Id=" +ccrcid);
    int _iStart = 1;
    int _iEnd = 10;//前10项,后10项或者其中10项改变前面2个变量就好了
    DataRow[10] _rowsNew = new DataRow[10];
    for(int i=_iStart-1;i<_iEnd;i++)
    {
      _rowsNew[i-iStart+1]=_rows[i];
    }
    dt.Merge(_rowsNew);