用户控件的问题

benniaoyaofei 2008-01-19 03:32:57
我定义了两个窗体f1,f2,f2里有一个按钮
一个用户控件u,里面有一个按钮和一个datagridview
f1载入的时候添加u,点击u里的按钮弹出f2,再点击f2里的按钮执行一条sql语句,得到一个datatable,我现在想把这个datatable绑定到u的datagridview,datatable里已经有数据了,就是绑定不了,请问是什么原因?
...全文
115 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
benyouyong 2008-01-25
  • 打赏
  • 举报
回复
访问用 UserControl1.Controls["datagridview"]
这是另一个问题。LZ要给我另外加分哦。。嘿嘿!
yzxdc 2008-01-25
  • 打赏
  • 举报
回复
搂住似乎没有分清楚引用变量的概念啊。。。
这个问题最简单的办法是创建f2的时候将控件u对象传递进去,即在f2的构造函数里增加一个参数
在u上点击按钮(new f2(u)).showdialog();
benniaoyaofei 2008-01-25
  • 打赏
  • 举报
回复
如果不new怎么绑定?
UserControl1不能直接访问datagridview...
UserControl1.datagridview不行。。。
benyouyong 2008-01-25
  • 打赏
  • 举报
回复
用户控件就是一控件,就和BOTTON一样用,无需在new一次。
你new了就是另外一对象了,绑定也看不出来。
benniaoyaofei 2008-01-25
  • 打赏
  • 举报
回复
不是很明白你的意思。。。
我是这样写的
在UserControl1里定义一个pubic datatable t1
datagridview.datasouce=t;
然后在f2里是
datatable t=new datatable();
UserControl1 u=new UserControl1();
u.t1.rows.clear();
u.t1.merge(t);
请问哪里出错?
csharp_start 2008-01-25
  • 打赏
  • 举报
回复
可以传递ref datatable作为参数,或者强制对u里的datagridview.datasoure做出调整.
sjm2003 2008-01-25
  • 打赏
  • 举报
回复
头晕
benniaoyaofei 2008-01-25
  • 打赏
  • 举报
回复
拱。。。
ouhou 2008-01-20
  • 打赏
  • 举报
回复
u u=new u();
u.datagridview.datasouce=t;

为什么有new了个u呢?
还有你new后show了么
benniaoyaofei 2008-01-19
  • 打赏
  • 举报
回复
我的还是不行
在u上点击按钮(new f2()).showdialog();
然后点击f2上的按钮,执行一次查询
生成datatable t=...;
然后绑定 u u=new u();
u.datagridview.datasouce=t;(datagridview是public)
神奇的章鱼哥 2008-01-19
  • 打赏
  • 举报
回复
你是怎么绑的?

假设u里的数据源为DataTable1
f2里的表为DataTable2

你应该这样:

DataTable1.Rows.Clear();
DataTable1.Merge(DataTable2);

看看这样是不是达到你的效果了,当然DataTable1要public,这个不用说了
possible_Y 2008-01-19
  • 打赏
  • 举报
回复
不知道你怎么绑定的,比较简单的就是u暴露一个DataSource属性,其直接就是datagridview 的DataSource的包装

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧