找回密码
 立即注册

QQ登录

只需一步,快速开始

haitun1227

中级会员

16

主题

90

帖子

540

积分

中级会员

积分
540

活字格认证

haitun1227
中级会员   /  发表于:2013-8-29 15:27  /   查看:13130  /  回复:25
我想请问下如何使用c1FlexGrid实现一个窗体中c1FlexGrid中的值传入到另一个窗体的c1FlexGrid对应的位置?

25 个回复

倒序浏览
gw0506
超级版主   /  发表于:2013-8-29 15:45:00
沙发
封装个public或者internal的FlexGrid对象,在Form2中使用Form1.FlexGrid。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-8-29 15:45:00
板凳
提交时间似乎比平时要长,请耐心等待...
回复 使用道具 举报
haitun1227
中级会员   /  发表于:2013-8-29 16:38:00
地板
在第一个窗体中设置了
frmCopy frm = new frmCopy();
          frm.C1 = this.c1FlexGrid1;
           frm.ShowDialog();
           frm.Dispose();
第二个窗体中设置
public C1.Win.C1FlexGrid.C1FlexGrid C1;
那么我在第二个窗体中如何将第一个窗体中的c1FlexGrid1与第二个窗体中的c1FlexGrid1绑定?
frmCopy .Designer.cs中
this.c1FlexGrid1 = new C1.Win.C1FlexGrid.C1FlexGrid();
改为
this.c1FlexGrid1 =  C1 就会报错
请问具体我该如何绑定?
回复 使用道具 举报
unity
社区贡献组   /  发表于:2013-8-29 17:25:00
5#
用变通的方式啊,共享同一个数据源。
两个form上的grid绑定到同一个数据源上。
修改时直接修改数据源。
回复 使用道具 举报
haitun1227
中级会员   /  发表于:2013-8-29 17:32:00
6#
是从excel中读入的,不是绑定数据源的那种方式。就类似于复制的功能
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-8-29 18:43:00
7#
Form1含有this.c1FlexGrid1,暴露一个属性叫FlexGrid。
Form2含有this.c1FlexGrid2暴露一个属性叫FlexGrid。

至少要在 InitializeComponent();执行完了才可以赋值,否则你的C1都是空的。

比如我在Form2中:
Form1 frm1 = new Form1;
this.FlexGrid = frm1.FlexGrid;


另外,是什么需求需要两个Form用同一个FlexGrid呢?如果你从Excel里读取,那可以两个FlexGrid都从这个Excel中读取就一样了吧。
回复 使用道具 举报
unity
社区贡献组   /  发表于:2013-8-30 09:07:00
8#
是从excel中读入的,不是绑定数据源的那种方式。就类似于复制的功能
haitun1227 发表于 2013-8-29 17:32:00

都说了是变通的方式啦。
将Excel的数据直接读到数据源中。
再将数据源绑定到表格上。
回复 使用道具 举报
haitun1227
中级会员   /  发表于:2013-8-30 10:21:00
9#
回复 7楼gw0506的帖子

不知道为什么我在form中调
Form1 frm1 = new Form1;
this.FlexGrid = frm1.FlexGrid 是空值。需不需要像java中get/set 它的值。
回复 使用道具 举报
unity
社区贡献组   /  发表于:2013-8-30 10:45:00
10#
不要试上面的方法,同一个Control只能有一个parent。
所以想在两个窗体上显示同一个grid是不可能的。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部