ASP.NET新手实用技巧!(C#)

一:ArrayList存二维数组

为什么用ArrayList?
ArrayList是动态数组,可以在不知道长度的情况下声明和实力化,并且可以根据需要动
态增加长度,大小,删除任意索引位置的内容.这些都是普通数组无法办到的.

String[] get_num=new String[3];  //为了做您做例子随意搞个可爱的数组
get_num[0]="8,5,12,12";       
get_num[1]="82,52,52,42";
get_num[2]="18,35,112,132";

        ArrayList AL=new ArrayList();   //声明并实力化一个 傻傻的没吃饱的ArrayList
        ArrayList AL2 = new ArrayList();//声明并实力化一个 傻傻的没吃饱的ArrayList

        
        for (int i=0; i < get_num.Length; i++)
        {
           String[] get_numArray= get_num[i].Split(',');           //把普通数组按照","号切开
           for (int j = 0; j < get_numArray.Length; j++)
           {
              
               AL2.Add((double)(double.Parse(get_numArray[j])));  //这个例子值默认是double类
型的把第二维的内容加到AL2中

             
           }
          
               AL.Add((double[])AL2.ToArray(typeof(double)));//把第一维的内容加到AL中
               AL2.Clear();                  //清除内容以免下一次第二维重复累积

          

        }
      
     
          double[][] get_countNum=(double[][])AL.ToArray(typeof(double[]));  //OK!他吃饱了,AL被转
化成2维数组




二:百分数"四舍五入的问题"

  String  aaa="48"
  String bbb="976"
  上帝想让 48除以976然后结果保留两位小数点后四舍五入.
  OK!我告诉你怎么解决上帝的问题.
    首先需要注意的:
   一定要把参与运算的值转化成double或float类型的 如果转化成整形是不能得到小数点
后结果的.(

((  (Double)  (  (  int.Parse(aaa)  ) *  100  )  ) / Double.Parse(bbb) ).ToString("f2");

OK!完毕!   重点在转化成双精度百分比结果后的ToString括号里,F代表转化"精度百分比型数据
" 而后面的2代表保留到小数点后2位,大家可以按照需求换成3,4或者其他.


三:GridView下角(脚注)合并单元格



如上图  在GridView的脚注中"IPSOS 测试项目"居中,已经被单元格合并,
代码如下

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)   //帮定行时候触发
    {
        if (e.Row.RowType ==DataControlRowType.Footer)   //如果当前行是脚注
        {
           
           
            e.Row.Cells[0].ColumnSpan = e.Row.Cells.Count;                       //单元格站所有单元格长度
            e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Center;              //居中

            e.Row.Cells[0].Text = Request.QueryString["projectName"];          //这里的Request.QueryString["projectName"]就是"IPSOS测试项目"
            for (int i = 1; i < e.Row.Cells.Count; i++)
            {
                e.Row.Cells[i].Attributes["style"] = "display:none;";                      //让其他脚注单元格消失.
            }


        }
    }




四:循环取(遍厉)DataReader 的数据结果
SqlDataReader dr=SqlCommand.ExcuteReader();
  do
                  {
                      while (dr.Read())
                      {
                          panel_id += dr["某列名称"].ToString() + ",";  //遍厉数据并用","分隔

                      }
                  }
                  while (dr.NextResult());  //取下一条

 


 

posted @ 2007-07-12 17:38  搞IT的狐狸  阅读(953)  评论(0编辑  收藏  举报