一张数据表列表显示页面,用DataGrid,后台Bind后,原始数据库值在前台显示!
可我想在后台.cs文件中更改某一字段的值,比如对字段进行判断或者转换,然后把判断结果返回到前台DataGrid数据列里!能给个稍微详细点的例子吗?
谢谢

解决方案 »

  1.   

    可以,你是先生成DataSet然后绑定到DataGrid的,那么在绑定之前,先修改DataSet中的数据就是了。
      

  2.   

    很简单,把想要变换的列做成TemplateColumn,里面就可以定义你想加入的内容
    <asp:TemplateColumn HeaderText="下发管理">
    <ItemTemplate> <%# formating(DataBinder.Eval(Container.DataItem,"flag"),DataBinder.Eval(Container.DataItem,"id"),DataBinder.Eval(Container.DataItem,"agreenum"))%>
    </ItemTemplate>
    </asp:TemplateColumn>里面的formating是函数,在后台写一个这样的函数,对列信息做判断以后返回一个数据类型就可以了
      

  3.   

    谢谢killerliu我想要的是 gshope(北京.Net)  说的那种,gshope(北京.Net) 能提供下代码片断吗?
    我也知道你说的那样,可不知道代码怎么写,请指教阿!
      

  4.   

    我觉得killerliu说的用一个函数来格式化你所要的数据是好的方法.gshope(北京.Net) 的方法也可实现,不过killerliu说的方法要简单些.做同一个件有不同的方法,那就要看你的需要了.Good Luck!
      

  5.   

    DataSet ds = new DataSet();
    DataTabl rs = ds.tables.add("query");
    rs.columns.add("field1");
    rs.columns.add("field2");
    rs.columns.add("field3");
    rs.columns.add("field4");
    //从数据库查询出来的表为sourcetable
    DataRow tmprow,newrow;
    for (int i=0;i<sourcetable.rows.count;i++)
    {
    newrow = rs.newrow();
    tmprow = sourcetable.rows[i];
    newrow[field] = tmprow["field1"].tostring();
    .........
    //循环中可改想要的结果
    rs.rows.add(newrow);}
    return ds;
      

  6.   

    生成DataSet你会吧?之后,假设我要修改第一行第一列的值,那就:DataSet.Tables[0].Rows[0][0]="aaaaaa";