datagridview窗体刷新 有两个窗体,第一个窗体用DataGridView显示数据和按钮(弹出窗体2)。在窗体2中有两个textbox和一个添加按钮,当点击添加按钮时,怎么在第一个窗体的datagridview显示添加的内容并关闭窗体2。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 委托http://topic.csdn.net/u/20100106/20/e9697297-75f9-4450-aaa9-da0da416cf41.html?39668 一种方法可以在按钮(弹出窗体2)的代码“窗体2.showdialog()”代码后面直接写提取代码来显示添加的内容,这种方法需要在窗体2中定义属性来表示。第二种方法可以在点击添加按钮后利用窗体的find()函数来找到窗体1中的控件来设置其显示内容以显示新添加的数据。希望对你有帮助哦!!!!!!! 呵呵 private void btnSave_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=pubs;User ID=sa;Password=sa"); conn.Open(); string strlname=tbLname.Text; string strfname=tbFname.Text; string strphone=tbPhone.Text; string strcity=tbCity.Text; string straddress=tbAddress.Text; string strCmd = "update authors set au_lname='" + strlname + "',au_fname='" + strfname + "',phone='" + strphone + "',city='" + strcity + "',address='" + straddress + "' where au_id='"+this.Au_id+"'"; SqlCommand comm = new SqlCommand(strCmd, conn); int count=comm.ExecuteNonQuery(); if (count > 0) MessageBox.Show("修改成功!"); else { MessageBox.Show("修改失败!"); return; } conn.Close(); Control[] control= _form.Controls.Find("datagridview1", false); //SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=pubs;User ID=sa;Password=sa"); conn.Open(); string strSql = "select * from authors "; SqlDataAdapter da = new SqlDataAdapter(strSql, conn); DataSet ds = new DataSet(); da.Fill(ds, "authors"); DataGridView dgv = (DataGridView)control[0]; dgv.DataSource = ds.Tables[0]; conn.Close(); this.Close(); } 弹出窗体2事件form2 f2=new form2();f2.owner=this;f2.show();窗体1中定义一个公有的方法public void DataBind(datatale dt){ this.datagridview.datasource=dt;}窗体2按钮事件添加后查询该结果到datatable中form1 f1=new form1();form2 f2=this.ower as form2;f2.databind(dt);思路就这样的 好方法是委托,上面都有,我就不说了。还有一个笨方法,就是在form2中先将数据添加到数据库,然后关闭form2,回到form1时重新读取数据,刷新dvg。 C#怎样判断托盘是不是被点击? 为什吗 页面不显示了。。。。 累计的现金值 在cs文件里如何实现打开一个新页面,效果与js的window.open()类似 c# winform 公司知识 当停止windows服务时如何处理? 访问大数据量的数据库,出现“超时已过期”的问题,请高手指教! listview如何能够象TreeView一样展开和收缩 一个程序调用一个函数,如果这个函数内(catch)出错,怎样退出整个程序? C#正则表达式之中文匹配(高手请指教!) 怎么把二进制数据写成wav文件并且读取出来 如何在静态的DLL回调函数里面访问主界面?
http://topic.csdn.net/u/20100106/20/e9697297-75f9-4450-aaa9-da0da416cf41.html?39668
第二种方法可以在点击添加按钮后利用窗体的find()函数来找到窗体1中的控件来设置其显示内容以显示新添加的数据。
希望对你有帮助哦!!!!!!! 呵呵
{
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=pubs;User ID=sa;Password=sa");
conn.Open();
string strlname=tbLname.Text;
string strfname=tbFname.Text;
string strphone=tbPhone.Text;
string strcity=tbCity.Text;
string straddress=tbAddress.Text; string strCmd = "update authors set au_lname='" + strlname + "',au_fname='" + strfname +
"',phone='" + strphone + "',city='" + strcity + "',address='" + straddress + "' where au_id='"+this.Au_id+"'";
SqlCommand comm = new SqlCommand(strCmd, conn);
int count=comm.ExecuteNonQuery();
if (count > 0)
MessageBox.Show("修改成功!");
else
{
MessageBox.Show("修改失败!");
return;
} conn.Close(); Control[] control= _form.Controls.Find("datagridview1", false);
//SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=pubs;User ID=sa;Password=sa");
conn.Open();
string strSql = "select * from authors ";
SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "authors");
DataGridView dgv = (DataGridView)control[0];
dgv.DataSource = ds.Tables[0]; conn.Close(); this.Close();
}
form2 f2=new form2();
f2.owner=this;
f2.show();
窗体1中定义一个公有的方法
public void DataBind(datatale dt)
{
this.datagridview.datasource=dt;
}
窗体2按钮事件
添加后查询该结果到datatable中
form1 f1=new form1();
form2 f2=this.ower as form2;
f2.databind(dt);
思路就这样的