| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2867 人关注过本帖
标题:[求助]窗体刷新
取消只看楼主 加入收藏
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
 问题点数:0 回复次数:7 
[求助]窗体刷新

双击 dataGridView1 中某一条记录,打开 FrmShow 窗体

在 FrmShow 窗体中用TextBox 控件显示着每个字段的值

修改某一个值后,关闭 FrmShow 窗体,dataGridView1 又重新绑定一次数据

我想请教各位,如何在关闭 FrmShow 窗体时触发重新绑定 dataGridView1 数据源


搜索更多相关主题的帖子: 窗体 
2007-07-19 23:30
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 

其实这个在很多软件中常用到的,像大多采购软件和财务软件中都会常见到的

就说QQ吧,打开个人设置,改下 用户呢称, 点击保存关闭设置窗体,QQ面板中呢称就自动刷新

[此贴子已经被作者于2007-7-24 12:44:01编辑过]


2007-07-19 23:36
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
[IMG]http://www.[/IMG]

2007-07-19 23:59
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
以下是引用cxwl3sxl在2007-7-20 14:25:47的发言:
提供我知道的两种方法!
1、在主窗体上面设置自动刷新,过一段事件刷一次
2、在子窗口关闭的时候向主窗口发送消息,让他刷新!

楼上的这们朋友,你说的第一种方法不是我想要的,第二种方法是我一直在思考的,
我就是不知道如何在关闭从窗体时,向主窗体发送消息,
让主窗体产生个什么事件可以重新绑定数据源


2007-07-20 15:10
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 

郁闷啊,这个在很多地方都有应用的,怎么没人回答我呢

再顶下

2007-07-20 22:54
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
10楼的方法可行,不过不太现实吧,我进入主窗口,显示着所有功能的图标,比如右击选中一个图标选择添加新项,弹出一个窗口,添加项目名后,数据表中多一条记录,这时关闭添加窗口,主窗口不用点击刷新按键,自动刷新列表,如果按你的方法,就很麻烦了,这只是我的一个比方,像这样一个项目中有很多应用,就很麻烦了,不过还是要谢谢你们

9楼的朋友看起来有点道理,高,有点高,但还是没太看懂

2007-07-24 01:24
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 

选建了一个ListViewv

//绑定数据
void BindData()
{
listView1.Items.Clear();
string strSql = "SELECT 编号, 姓名, 性别 FROM [人事数据] Order By 编号 asc";
SqlDataReader reader = CLASS.BuildConnCmd.BuildSqlDataReader(strSql);
while (reader.Read())
{
string[] item = {
reader["姓名"].ToString().Trim(),
reader["编号"].ToString().Trim()
};
ListViewItem l = new ListViewItem(item);
l.ImageIndex = bool.Parse(reader["性别"].ToString().Trim()) == false ? 0 : 1;
listView1.Items.Add(l);
}
}


private void Form1_Load(object sender, EventArgs e)
{
BindData();
}


//listView1双击事件
private void listView1_DoubleClick(object sender, EventArgs e)
{
string xCat = listView1.SelectedItems[0].SubItems[1].Text; //取出编号
FormShow frm=new FormShow(xCat); //打开 FormShow 窗体
frm.Show();
}


下边不用说,大家也明白了,在FormShow中获取传递的变量 xCat,然后读出数据库记录,并显示在相应的TextBox控件中

当我修改了姓名后,并闭FormShow窗体,需要在Form1窗体中点击一个刷新按钮

private void form1RunButton_Click(object sender, EventArgs e)
{
BindData();
}

像这样重新绑定一次才能更新,我的目的就是想编辑"姓名"字段后,关闭FormShow,能自动刷新
不知我这样说,大家明白了没有

楼上说的Enter事件中绑定数据,我想有点意思,"当窗体成为活动控件时发生事件",我试试看

[此贴子已经被作者于2007-7-24 12:43:23编辑过]


2007-07-24 12:25
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
呵呵,原来如此,谢谢

楼上的方法是我需要的最理想的方法

2007-07-25 09:40
快速回复:[求助]窗体刷新
数据加载中...
 
   



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

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