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

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