Sure.
But you may define in the datasource of your DataGrid.

解决方案 »

  1.   

    在DataGrid的OnItemDataBound中处理e.Item.
      

  2.   

    but how can i deal with datasource to define a dataformatstring?
    could you give me some code see see?:)
    tks
      

  3.   

    我想定义一个自动生成列的格式:
    如FLOAT型 11122333.32变成1,112,233.3
    同时字段靠右
      

  4.   

    跟数据有关吗,sql server的
      

  5.   

    可以啊,你可以在 DataBinding或ItemDataBound写相应的代码,来转化格式。
    也可以用Text='<%# DataBinder.Eval(Container, "DataItem.a") %>'来转化。
      

  6.   

    我想要一个通用的东西如:
    public static void FormatDataGrid(ref DataGrid dg)
    功能:
    使DATAGRID中的所有数字列水平靠右,且每三位加一个千分号。
    注:
    DATAGRID的列是自动生成的。其它方法也可以,但还是要通用的。
      

  7.   

    函数是通用的,如果每个DATAGRID写一个函数要累死人了。
      

  8.   

    比较好的方法是:public class MyDataGrid:DataGrid
    {
        protected override ArrayList CreateColumnSet(PagedDataSource dataSource, bool useDataSource)
        {
            ArrayList al=base.CreateColumnSet(dataSource,useDataSource);
            for(int i=0;i<al.Count;i++)
            {
                BoundColumn bc=al[i] as BoundColumn;
                if(bc==null)continue;
                EncodedBoundColumn ebc=new EncodedBoundColumn();
                ..复制属性 bc=>ebc;
                al[i]=ebc;
        }
    }关于EncodedBoundColumn 
    http://expert.csdn.net/Expert/topic/1254/1254146.xml?temp=.5750849
      

  9.   

    to:Lostinet(迷失网络)(大家注意∶他不是人)
    你是否看错了???
      

  10.   

    不是啊。.
    EncodedBoundColumn里的FormatDataValue就是放代码的地方啊。.
      

  11.   

    自动生成的列不在columns中!!!,能操作到吗?
      

  12.   

    注意   显式声明的列可与自动生成的列一起使用。当同时使用这二者时,首先呈现的是显式声明的列,其后是自动生成的列。自动生成的列不会添加到 Columns 集合中。这是.net的帮助上摘的,我也觉得快倒了,但MICROSOFT就搞这种东东:)
      

  13.   

    设置DataGrid的OnItemDataBound
         try{
         TableCell tc=e.Item.Cells[24] as TableCell;
         tc.Text=Convert.ToDouble(tc.Text).ToString("N");
         }catch{}
      

  14.   

    倒。。CreateColumnSet返回的是所有Column,包括DataGrid.Columns和自动创建的所有Column.
    你管
    DataGrid.Columns干什么呢?
      

  15.   

    用DataGridTableStyle重写DataGrid显示问题,可以重新定义DataGrid的Columns。,
      

  16.   

    to: Lostinet(迷失网络)(大家注意∶他不是人)
    你的办法可能可行我想要一个通用的东西如:
    public static void FormatDataGrid(ref DataGrid dg)
    功能:
    使DATAGRID中的所有数字列水平靠右,且每三位加一个千分号。
    注:
    DATAGRID的列是自动生成的。我现在的问题是无法取得一个column对应的DATAFIELD的类型?!!!!!!!
    如果是整形或浮点型,我就给它加dataformatstring.
      

  17.   

    foreach(TableRow in DataGrid1.Items)
    {
        //那你就对表格的每行进行操作算了。..
    }