| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:[讨论]关于表关联
只看楼主 加入收藏
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:3 
[讨论]关于表关联
表1: idark(ID),dm(代码),mc(名称)
表2: idark(ID与表1关联),托运日期,航线,分类,费用

点击左面DataGridView的客户名称,右面的DataGridView相应出现明细
请教各位老师,如何实现该功能?
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: 航线 DataGridView idark 客户 
2006-10-05 15:31
mylover624
Rank: 1
来 自:乖乖的心中
等 级:新手上路
帖 子:868
专家分:0
注 册:2006-7-6
收藏
得分:0 
DataGrid好象有个SelectItemsChange()(就是DataGrid选定索引发生变化)事件,在里面写上你所需的代码就OK了。

一个天才顶不上十个笨蛋!
书山有路勤为径,学海无涯友相伴。
我的E-mail:mylover624@.cn
2006-10-05 17:56
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
谢谢版主!

是这样的:如果每次点击左面的客户名称DataGrid便进行一次连接SQL查询,我想那样的效率会大打折扣的。

我现在所用的方法是把这两个表的值全部取出来,分别生成了两个DataAdaptor后并进行了填充,当点击左面的客户名称DataGrid时,右面的明细DataGrid会自动过滤出 ID相同的纪录,并显示出来,而不是进行一次SQL连接查询。这段代码怎么写?谢谢了!

2006-10-09 14:58
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

大家帮我看看啊:

我在点击DataGridView时用SelectionChanged事件调用MakeDataView():
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
MakeDataView();
}

private void MakeDataView()
{
DataView dv = new DataView();
dv.Table = ds.Tables["ckd"];
dv.AllowDelete = true;
dv.AllowEdit = true;
dv.AllowNew = true;
dv.RowFilter = "ID='"+this.dataGridView2.CurrentCell.Value.ToString()+"'";
dv.RowStateFilter = DataViewRowState.ModifiedCurrent;
dv.Sort = "计费日期 DESC";
this.dataGridView1.DataSource = dv;
}

其中DataView有个RowFilter过滤功能,但是运行程序时dv好像没取到值,DataGridView2没有显示任何东东...
另外:在点击左面的DataGridView时,必须要点在ID列上,否则会出错的。因为这句话: dv.RowFilter = "ID='"+this.dataGridView2.CurrentCell.Value.ToString()+"'";
大家请帮忙看看啊!谢谢!


2006-10-10 10:07
快速回复:[讨论]关于表关联
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019876 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved