大家好,我希望能对表格进行一些处理,下面是我写的一些代码:
        //创建连接
        SqlConnection sqlCnn = new SqlConnection(strCnn);
        SqlDataAdapter sda = new SqlDataAdapter("select user_login.user_id,user_data_basic.* from user_login,user_data_basic where user_login.user_id=user_data_basic.user_id", sqlCnn);
        DataSet ds = new DataSet();
        sda.Fill(ds, "a");
        //对表格进行处理
        //添加一列
        ds.Tables[0].Columns.Add("id", typeof(int));
        //对刚刚添加的列赋值
        for(int i = 0 ; i < ds.Tables[0].Rows.Count ; i ++)
        {
            ds.Tables[0].Rows[i].ItemArray.SetValue(i, 0);
        }
        //绑定GridView
        this.GridView1.DataSource = ds.Tables[0];
        this.GridView1.DataBind();
上面的这段代码肯定是错误的,是我自己乱找属性和方法找出来的,但是,我想,我的意图就比较明显,其实,就是希望能够将从数据库读出的一张表多加一个ID列,并且给ID列赋值,然后绑定。
希望大家能帮帮忙,给出正确的代码,不甚感激。

解决方案 »

  1.   

     ds.Tables[0].Rows[i]["id"]=i;
    不见意用这种方法
    其实您可以在存储过程里实现
      

  2.   

    在绑定时, 前台页面GridView增加新列是一法:<asp:GridView ID="gridList" runat="server" PageSize="5" AutoGenerateColumns="false" AllowPaging="true">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate><%#((GridViewRow)Container).RowIndex + 1 + gridList.PageIndex * gridList.PageSize%></ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="...." />
            <asp:BoundField DataField="...." />
        </Columns>
        </asp:GridView>