查询结果已生成于DataGrid中,
请问如何在第一列添加一个自动排序的字段,
并且重写价格列中的所有行,
如:
数据库中表为
名称    品牌     币种     价格
服务器  IBM      美元     150000
台式机  联想     人民币   8000
打印机  佳能     港币     1700重写后的结果能得到以下
序号  名称    品牌   价格
1     服务器  IBM    U150000
2     台式机  联想   R8000
3     打印机  佳能   H1700省略的币种字段,符号由币种得到。
请大家给出代码,谢谢了~~~

解决方案 »

  1.   

    - -不用重写DataGrid这么麻烦
    //激发这个事件就OK啦
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
         if((e.Item.ItemType == ListItemType.Item) ||(e.Item.ItemType == ListItemType.AlternatingItem))
          { 
              string Datas= e.Item.Cells[2].Text;
              string[] array=Datas.Split(new char[]{'|'});
              Datas=array.GetVslue(1).ToString();
              switch(array.GetValue(0).ToString())
              {
                   case "美元":
                        e.Item.Cells[3].Text = "U"+Datas;
                   break;
                   case "人民币":
                        e.Item.Cells[3].Text = "R"+Datas;
                   break;
                   case "港币":
                        e.Item.Cells[3].Text = "H"+Datas;
                   break;
              }       }
    }
    页面绑定方式:
    <%# ((System.Data.DataRowView) Container.DataItem)["币种"].ToString() %>|<%# ((System.Data.DataRowView) Container.DataItem)["价格"].ToString() %>
    绑定到同一个cell里面就OK啦
      

  2.   

    如果是winforms的话,同样可以只进行对sql语句的改进就可以达到效果,然后添加一个自动增加列。或者使用存储过程!
      

  3.   

    是winform的,找不到ItemDataBound事件,而且查询时需要显示币种,打印时才把币种隐藏的,所以也不能改sql语句,闵峰能给个具体的代码吗?谢谢了