| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2867 人关注过本帖
标题:[求助]窗体刷新
只看楼主 加入收藏
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
10楼的方法可行,不过不太现实吧,我进入主窗口,显示着所有功能的图标,比如右击选中一个图标选择添加新项,弹出一个窗口,添加项目名后,数据表中多一条记录,这时关闭添加窗口,主窗口不用点击刷新按键,自动刷新列表,如果按你的方法,就很麻烦了,这只是我的一个比方,像这样一个项目中有很多应用,就很麻烦了,不过还是要谢谢你们

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

2007-07-24 01:24
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
以下是引用mlrh3838在2007-7-24 1:24:41的发言:
10楼的方法可行,不过不太现实吧,我进入主窗口,显示着所有功能的图标,比如右击选中一个图标选择添加新项,弹出一个窗口,添加项目名后,数据表中多一条记录,这时关闭添加窗口,主窗口不用点击刷新按键,自动刷新列表,如果按你的方法,就很麻烦了,这只是我的一个比方,像这样一个项目中有很多应用,就很麻烦了,不过还是要谢谢你们

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

你的意思是需要通用的Form?
我觉得可不可以这样:做一个公共的Form,用来编辑你所需要修改的内容,FormLoad时,根据传过来的值(你右键选择图标添加新项,比如:表名、关键字、条件等等),显示在一个DataGridView中,然后进行编辑,关闭后返回值去更新原表


2007-07-24 10:01
白菜粉条
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-5-25
收藏
得分:0 
FrmShow 窗体如果是mdi 子窗体,你可以在其父窗体的的enter事件中进行绑定数据源,其他情况没有试验过。

我不是不想不郁闷,台湾问题没有解决啊!
2007-07-24 10:11
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
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
收藏
得分:0 
回复:(mlrh3838)10楼的方法可行,不过不太现实吧,我...
其实我采用的方法就是win32平台的消息驱动的一种方法,就是当你修改数据的窗体关闭的时候发送一个更新消息到需要更新数据的窗体,然后在接收端收到这个消息的时候就根据“命令”来执行相应的处理

努力,哈哈,总有一天会变成高手~~~~~~因为我相信:没有办不到,只有想不到!http://t..cn/fpress
2007-07-24 17:16
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用mlrh3838在2007-7-24 12:25:31的发言:

选建了一个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事件中绑定数据,我想有点意思,"当窗体成为活动控件时发生事件",我试试看



改下这句话:
FormShow frm=new FormShow(xCat); //打开 FormShow 窗体
frm.Show();
修改为:
FormShow frm=new FormShow(xCat);
frm.ShowDialog();
...这行根刷新语句
原理是:
程序执行的时候,会先执行frm.showDialog(),当frm窗口关闭以后程序才会继续往下执行,
所以,在showdialog后面加刷新语句就不是不管有没有改动,打开这个窗体关闭后就让他刷新。

[此贴子已经被作者于2007-7-24 18:10:53编辑过]


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-07-24 18:08
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
得分:0 
呵呵,原来如此,谢谢

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

2007-07-25 09:40
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 

o(∩_∩)o...哈哈,这个帖子可以封帖了。


C#Winform技术群:25380362
博客:http:///boyliupan/
2007-07-25 10:48
天使不落泪
Rank: 1
等 级:新手上路
帖 子:104
专家分:0
注 册:2007-7-24
收藏
得分:0 
感谢哦 找个方法找好久了

这.................
2007-07-25 11:09
gb2u
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-7-25
收藏
得分:0 
刚学没几天 ,这段代码楼主能不能帮我注释一下
Response.Write("aspnet连接Mysql数据库");
string constr = "Data Source=robot;Password=robot;User ID=robot;Location=127.0.0.1";
MySQLConnection conn = new MySQLConnection(constr);
conn.Open();
string query = "select * from safety_patrol;";

MySQLDataAdapter mda = new MySQLDataAdapter(query, conn);

DataSet ds = new DataSet();

mda.Fill(ds, "table1");

this.GridView1.AutoGenerateColumns = true;

this.GridView1.DataSource = ds;

this.GridView1.DataBind();

conn.Close();
2007-07-25 11:29
快速回复:[求助]窗体刷新
数据加载中...
 
   



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

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