几个关于DataGridView控件的问题!

程序猿GG 2006-10-23 10:42:07
你如有员工资料表,格式如下:

工号 姓名 姓别 部门代号
_____________________________________
001 张三 1 A01
002 李四 0 M01
......

总名表

部门代号 部门名称
___________________________
A01 工程部
M01 制造部
......

我现在想做一个FORM界面,用于维护员工资料表.在其中设置一个大DataGridView控件,及相应的TextBox和ComboBox控件,在DataGridView控件中,我想显示如下内容:

工号 姓名 姓别 部门
_________________________________
001 张三 男 工程部
002 李四 女 制造部
.....

第一个问题:如果我想新增员工,该怎样让数据传回源数据源中(因为DataGridView绑定的是对应多个源数据表)?

第二个问是:如果更改DataGridView的数据源?因为我在界面中进行搜索时,是直接搜索DataGridView中行的数据,把不满足条件的记录移除,以此方法来达到递归搜索的目的(即第二次搜索时,其数据源为第一次搜索后的结果),我在搜索完成后,想重新再载入完整资料,该怎么做?
...全文
164 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunhua3654711 2006-10-24
  • 打赏
  • 举报
回复
能不能吧他说的明白点 我是菜鸟啊 .
polojojo 2006-10-24
  • 打赏
  • 举报
回复
你在绑定的时候不是要在初始化里面进行绑定的吗```behind
你查找完了重新绑定一下就好了
jointan 2006-10-24
  • 打赏
  • 举报
回复
改一下下面这句
exps[i]=string.Format("{0} LIKE '%{1}%'",fields[i],"AA);
程序猿GG 2006-10-24
  • 打赏
  • 举报
回复
TO:jointan()

你的方法很不错,让我真的受益很多.但如果我不想用"=",即并不是判断字段的值是否等于所要搜索的值,只要在其字符串中包含有要搜索的字符串,就认为是满足条件,该怎么写.
如:搜索的字符串是"AA",不管字段中的值是"AA" "ABAA" "BAAB" "AAAA" ,都认为是符合条件的,该怎么写??
jointan 2006-10-23
  • 打赏
  • 举报
回复
DataGridView gv;
System.Data.DataView dv;
string[] fields = new string[gv.Columns.Count];
foreach (DataGridViewColumn col in gv.Columns)
{
fields[col.Index]=string.Format("[{0}]",col.DataPropertyName);
}
string[] exps=new string[fields.Length];
for(int i=0;i<exps.Length;i++)
{
exps[i]=string.Format("{0} ='{1}'",fields[i],"AA"/*这个地方用查询变量替换*/);
}
string newexp = string.Join(" OR ", exps);

dv.RowFilter = String.Format("({0}) AND ({1})", dv.RowFilter, newexp);
wl19861202 2006-10-23
  • 打赏
  • 举报
回复
刷新好么?
程序猿GG 2006-10-23
  • 打赏
  • 举报
回复
TO: jointan
有看到你帮我解决的问题,让有很受启迪,但如果应用你这个方法到我的那个问题上,可能有点麻烦,因为我的筛选条件是针对DataGridView中每一行的所有字段,如下例:
filed1 filed2 filed3 filed4
_________________________________________
AA BBA CC dd
BB BAA CA DD
CC CAAC DD GG
DD AAC DD FF

如果我搜索"AA"的话,我需望上面的所有的记录都能显示出来,因为每行中都有"AA",而并不是说具体某一字段的包含"AA"?

jointan 2006-10-23
  • 打赏
  • 举报
回复
我回答你第二个问题吧:
我用的方法是
DataView dv;
if(dv.RowFilter!=null && dv.RowFilter!="")
{
dv.RowFilter= string.Format("({0}) AND {1}",dv.RowFilter,NewExpression );
}
相关推荐
发帖
C#

10.9w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-23 10:42
社区公告

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