找回密码
 立即注册

QQ登录

只需一步,快速开始

rijun

高级会员

55

主题

228

帖子

1115

积分

高级会员

积分
1115

活字格认证微信认证勋章

rijun
高级会员   /  发表于:2015-9-15 14:50  /   查看:11227  /  回复:13
1.简单的写下代码
       for (int i = 0; i < 5; i++)
        {
            for (int j = 0; j < 5; j++)
            {
                main_userControl_deviation dev = (main_userControl_deviation)Page.LoadControl("userControl/deviation.ascx");
                gdvSSPC.Rows.Cells[j].Controls.Add(dev);
            }
        }
报错信息如图


请教一下,以上问题的解决方法!
2.然后说下我要做的东西(见下图)
我的思路是动态的为C1GridView单元格添加用户控件,这是否可行?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

13 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-9-15 17:40:00
沙发
回复 1楼rijun的帖子

谢谢你的反馈。
对于第一个问题,从你的代码和错误提示来看,请检查你的i,j的值是不是超过单元格和行数的最大值,比如单元格只有4个的话,你设置第五个会超过界限报错。

第二个问题,理论上是支持的。
但我没有示例证明。如果有什么问题,欢迎提出来讨论。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
rijun
高级会员   /  发表于:2015-9-17 15:18:00
板凳
回复 2楼Alice的帖子

我觉得第一个问题应该是我没有添加列导致的吧
回复 使用道具 举报
rijun
高级会员   /  发表于:2015-9-17 15:30:00
地板
回复 2楼Alice的帖子

需求个demo
1.主界面只需拖入一个C1GridView控件
2.随便做个用户控件,供调用
3.在主界面的page_load事件中写一个方法,循环为c1gridview添加5行和5列,单元格里加入之前做的用户控件,5秒刷新这个gridview
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-9-17 16:47:00
5#
回复 3楼rijun的帖子

仅从代码来看,第一个问题是由于越界导致,越界产生的原因推测可能是i,j的值超过你本身的单元格或是列的最大值。具体是什么导致这种原因需要根据代码去调查。
如果你在调查过程中出现问题,不能找到具体的原因,也可以将Demo发给我们,我们帮你看看。

第二个问题已经收到,我们做好后给你反馈。做Demo需要时间,今天不能回复给您,还望理解。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
rijun
高级会员   /  发表于:2015-9-18 07:28:00
6#
回复 5楼Alice的帖子

好的,希望最晚下周一能有个demo给我看看,谢谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-9-18 11:37:00
7#
回复 6楼rijun的帖子


添加了类似Label,button以及Calendar控件在单元格里,Demo如上所示。

如果依然有问题,请和我们联系。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
rijun
高级会员   /  发表于:2015-9-18 12:59:00
8#
回复 7楼Alice的帖子

Alice您好,这个demo有几个问题:
1.我是用vs2010研发的,不具备其他高版本的vs,你们的demo打不开
2.我进去看了下界面和后台的代码,和我说的有点不一样,我意思是界面上只是拖入一个C1GridView不做任何的动作(不添加colums),然后在后台代码里生成行和列,然后在加入web用户控件
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-9-18 17:38:00
9#
回复 8楼rijun的帖子

你好。
1.你可以将代码复制或是将.aspx.cs和.aspx文件添加到你的工程里接口查看。
2.我理解你不知道如何用代码添加列。只要将aspx里的Columns的代码注销掉,然后添加以下代码即可添加列:
  1. C1BoundField c1 = new C1BoundField();
  2.             c1.HeaderText = "ID";
  3.             c1.DataField = "EmployeeID";
  4.             c1.SortExpression = "EmployeeID";
  5.             c1.HtmlEncode = false;
  6.             this.C1GridView1.Columns.Add(c1);
  7.             c1 = new C1BoundField();
  8.             c1.HeaderText = "LastName";
  9.             c1.DataField = "LastName";
  10.             c1.SortExpression = "LastName";
  11.             c1.HtmlEncode = false;
  12.             this.C1GridView1.Columns.Add(c1);
  13.             c1 = new C1BoundField();
  14.             c1.HeaderText = "FirstName";
  15.             c1.DataField = "FirstName";
  16.             c1.SortExpression = "FirstName";
  17.             c1.HtmlEncode = false;
  18.             this.C1GridView1.Columns.Add(c1);
  19.             c1 = new C1BoundField();
  20.             c1.HeaderText = "BirthDate";
  21.             c1.DataField = "BirthDate";
  22.             c1.SortExpression = "BirthDate";
  23.             c1.DataFormatString = "d";
  24.             c1.HtmlEncode = false;
  25.             this.C1GridView1.Columns.Add(c1);
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
rijun
高级会员   /  发表于:2015-9-21 09:43:00
10#
回复 9楼Alice的帖子

不好意思 大概是我没表达清楚 后台生成绑定列我本来就已经实现了 我的想法是添加模板列 因为我要在后台加入我自定义的用户控件
for (int i = 0; i < 5; i++)
        {
            C1TemplateField tf = new C1TemplateField();
            tf.EditItemTemplate= Page.LoadTemplate("userControl/deviation.ascx");
            gdvSSPC.Columns.Add(tf);
        }
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部