一: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()); //取下一条