数据邦定问题(winFrom中用空数据DataSet邦定到dataGridView控件上)
//用空数据DataSet邦定到dataGridView控件上
pirvate DataSet ds;
private void button1_Click(object sender, EventArgs e)
{
ds= new DataSet();
dataGridView1.DataSource = ds.Tables[ "Company "];
}
//在用个方法返回一个带数据的结构和ds一样的DataSet
private void button2_Click(object sender, EventArgs e)
{
ds = GetNewData();
}
private DataSet GetNewData()
{
//这里返回一个有数据的DataSet
}
问题:为什么在单击按钮button2的时候数据填充不上去(ds中有数据)
怎么才能把数据显示出来
现在能把数据显示出来有一个办法:ds.Merge(GetNewData())
不用Merge方法还有其他的办法能将数据显示出来
------解决方案--------------------you click button2 then ds have data
but you didn 't click button1
so dataGridView1 'data not change
------解决方案--------------------notice :
ds= new DataSet();
dataGridView1.DataSource = ds.Tables[ "Company "];
change to:
ds= GetNewData();
dataGridView1.DataSource = ds.Tables[ "Company "];
------解决方案--------------------private void button2_Click(object sender, EventArgs e)
{
ds = GetNewData();
}
private DataSet GetNewData()
{
//这里返回一个有数据的DataSet
}
------>
private void button2_Click(object sender, EventArgs e)
{
GetNewData(ref ds);
}
private void GetNewData(ref ds)
{
//给ds的表赋值.
}
*****************************************************************************
有空 来坐坐.我的Blog
http://blog.csdn.net/hertcloud/
------解决方案--------------------/// <summary>
/// 绑定DataSet
/// </summary>
/// <param name= "sql "> sql语句 </param>
/// <returns> DataSet </returns>
public static DataSet DBbind(string sql)
{
SqlConnection tmpcon = Connection(address, database, datausername, datapassword);
DataSet ds = new DataSet();
SqlDataAdapter adp = new SqlDataAdapter(sql, tmpcon);
adp.Fill(ds);
tmpcon.Close();
return ds;
}
------解决方案--------------------button1实际上没有什么作用嘛
------解决方案--------------------问题:为什么在单击按钮button2的时候数据填充不上去(ds中有数据)
怎么才能把数据显示出来
现在能把数据显示出来有一个办法:ds.Merge(GetNewData())
不用Merge方法还有其他的办法能将数据显示出来
=================================================
给你分析一下你的代码以及问题:
pirvate DataSet ds;
private void button1_Click(object sender, EventArgs e)
{
ds= new DataSet();//示例化一个空的DataSet没有错。
dataGridView1.DataSource = ds.Tables[ "Company "];//这里就是你的不对了,这里有Company表吗?没有看到你添加表的语句,比如:ds.Tables.Add(new DataTable( "Company "));
//
}
//在用个方法返回一个带数据的结构和ds一样的DataSet
private void button2_Click(object sender, EventArgs e)
{
ds = GetNewData();//通过这个方法,只是把ds对象指向新的一个通过GetNewData()返回的DataSet,这样就不是你前面dataGridView1绑定的那个 ds了。
}
private DataSet GetNewData()
{
//这里返回一个有数据的DataSet