动态生成DataGrid并添加到表格里

        首次写关于技术方面的文章,一时竟不知道该怎么写。不过正好,我做的项目里有一个要根据员工的工资方案个数来显示员工的工资明细。于是就把这个动态生成DataGrid的方法贴了出来。随便写的,写的不好,仅供大家参考。(有不足的地方,大家尽管提哦!)
 1 ContractedBlock.gif ExpandedBlockStart.gif          CreateDataGrid()方法,动态生成多个DataGrid #region CreateDataGrid()方法,动态生成多个DataGrid
 2InBlock.gif        //faCount是方案个数,也就是要动态生成DataGrid的个数
 3InBlock.gif        private void CreateDataGrid(string[] faName, int faCount, string ny)
 4ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
 5InBlock.gif            ClassLib.DtaGzcx data = new CPHrms.ClassLib.DtaGzcx();//这个是用来获取数据源的,先不用管它
 6InBlock.gif            float yfgz = 0;
 7InBlock.gif            float sfgz = 0;
 8InBlock.gif            for(int i=0; i<faCount;i++)
 9ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
10InBlock.gif                Label labFA = new Label();
11InBlock.gif                labFA.Text  = faName[i].ToString();
12InBlock.gif                Panel pl = new Panel();
13InBlock.gif                Panel plNull = new Panel();
14InBlock.gif                plNull.Height = 20;
15InBlock.gif                DataSet[] dsGzxx = new DataSet[10];
16InBlock.gif                dsGzxx[i] = data.SelectEmployeeGZXX_1(faName[i].Trim(),Session["ZGDM"].ToString(),ny,Session["ConStr"].ToString());
17InBlock.gif                DataGrid[] dg = new DataGrid[faCount];//这个地方好象不用数组也可以
18InBlock.gif                dg[i] = new DataGrid();
19InBlock.gif                dg[i].AutoGenerateColumns = true;
20InBlock.gif                dg[i].ShowHeader = true;
21InBlock.gif                dg[i].HeaderStyle.CssClass = "HeadStyle";  //HeadStyle 是在CSS里写的
22InBlock.gif                dg[i].AlternatingItemStyle.CssClass = "AlternatingItemStyle";
23InBlock.gif                dg[i].ItemStyle.CssClass = "ItemStyle";
24InBlock.gif                dg[i].Width = 900;
25InBlock.gif                dg[i].DataSource = dsGzxx[i].Tables[0];
26InBlock.gif                dg[i].DataBind();
27InBlock.gif                pl.Controls.Add(labFA);
28InBlock.gif                pl.CssClass = "panel";
29InBlock.gif                byDG.Controls.Add(pl);      //把DataGrid的标题添加到单元格里    
30InBlock.gif                byDG.Controls.Add(dg[i]);   //紧接着就是DataGrid
31InBlock.gif                byDG.Controls.Add(plNull);  //然后再添加一个空Panel以便把两个DataGrid分开显示
32InBlock.gif                //以下是获得多个DataGrid相同列的数据总和并显示
33InBlock.gif                yfgz = yfgz + Convert.ToSingle(dsGzxx[i].Tables[1].Rows[0][0].ToString());
34InBlock.gif                sfgz = sfgz + Convert.ToSingle(dsGzxx[i].Tables[1].Rows[0][1].ToString());
35InBlock.gif                this.lblCountYFGZ.Text = Convert.ToString(yfgz);
36InBlock.gif                this.lblCountSFGZ.Text = Convert.ToString(sfgz);
37InBlock.gif                this.lblName.Text = dsGzxx[i].Tables[0].Rows[0]["姓名"].ToString();
38ExpandedSubBlockEnd.gif            }

39ExpandedSubBlockEnd.gif        }

40ExpandedBlockEnd.gif        #endregion

转载于:https://www.cnblogs.com/GraceLee/archive/2006/11/07/553135.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值