关于 C# dataGridView.DataSource 添加之后显示不了的问题~~~~求帮忙~~
我用的是VS2008的C#在可视化界面拖拽出来的控件dataGridView1使用DataSource添加数据库可以正常显示,但是我自己手动声明的DataGridView...
我用的是VS2008的C#
在可视化界面拖拽出来的控件dataGridView1使用DataSource添加数据库可以正常显示,但是我自己手动声明的
DataGridView dataGridView = new DataGridView();
在dataGridView.DataSource 给定之后,显示不了数据。
代码如下:
private void button1_Click(object sender, EventArgs e)
{
string connstr;
string olestr;
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\C#编程\\测试数据库.mdb;";
olestr = "SELECT * FROM [表1]";
OleDbConnection conn = new OleDbConnection(connstr);
OleDbDataAdapter da = new OleDbDataAdapter(olestr, conn);
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds,"表1");
//前一部分连接数据库的表格
DataGridView dataGridView = new DataGridView();
dataGridView.AutoGenerateColumns = true;
dataGridView.AllowUserToAddRows = true;
dataGridView.DataSource = ds.Tables[0]; //AA
string k = dataGridView.Rows.Count.ToString(); //BB
MessageBox.Show(k);
}
这里,数据库有一个2x2的表格 ,这里MessageBox出现数字为0,
但是我在AA处换成 dataGridView1.DataSource = ds.Table[0];
BB处换成string k = dataGridView1.Rows.Count.ToString();
MessageBox显示的数值为2。
我上网找了很多方法都没用,希望有大牛可以教一下小弟~~~~万分感谢~~~~ 展开
在可视化界面拖拽出来的控件dataGridView1使用DataSource添加数据库可以正常显示,但是我自己手动声明的
DataGridView dataGridView = new DataGridView();
在dataGridView.DataSource 给定之后,显示不了数据。
代码如下:
private void button1_Click(object sender, EventArgs e)
{
string connstr;
string olestr;
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\C#编程\\测试数据库.mdb;";
olestr = "SELECT * FROM [表1]";
OleDbConnection conn = new OleDbConnection(connstr);
OleDbDataAdapter da = new OleDbDataAdapter(olestr, conn);
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds,"表1");
//前一部分连接数据库的表格
DataGridView dataGridView = new DataGridView();
dataGridView.AutoGenerateColumns = true;
dataGridView.AllowUserToAddRows = true;
dataGridView.DataSource = ds.Tables[0]; //AA
string k = dataGridView.Rows.Count.ToString(); //BB
MessageBox.Show(k);
}
这里,数据库有一个2x2的表格 ,这里MessageBox出现数字为0,
但是我在AA处换成 dataGridView1.DataSource = ds.Table[0];
BB处换成string k = dataGridView1.Rows.Count.ToString();
MessageBox显示的数值为2。
我上网找了很多方法都没用,希望有大牛可以教一下小弟~~~~万分感谢~~~~ 展开
5个回答
展开全部
1楼的方法没用。
2楼的说法表明,没理解程序,函数内不影响。
3楼在胡说。这是winform程序。
中午吃了饭后,又验证了一下我的想法,果然如此!!!解决了。
必须将自己new的grid添加到form中,否则grid不填充数据。
this.Controls.Add(dataGridView); //加这么一句就OK。
2楼的说法表明,没理解程序,函数内不影响。
3楼在胡说。这是winform程序。
中午吃了饭后,又验证了一下我的想法,果然如此!!!解决了。
必须将自己new的grid添加到form中,否则grid不填充数据。
this.Controls.Add(dataGridView); //加这么一句就OK。
追问
那这样,自己new出来的 dataGridView 会不会弹出新的窗口??我的目的是不能出现窗口的~~
追答
不会出现窗口的,你自己试试,就知道了。
展开全部
你的datagridview应该在方法外面声明,click事件结束后方法里面定义的datagridview会自动释放
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将BindingSource组件添加到窗体。
this.bindingSource1.DataSource=ds.Tables;
dataGridView.DataSource = this.bindingSource1;
this.bindingSource1.DataSource=ds.Tables;
dataGridView.DataSource = this.bindingSource1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主,给回答者个回应啊,确定个满意答案啊!!
让回答的人也觉得回答你的问题有意义!!!
让回答的人也觉得回答你的问题有意义!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大哥 你没有 dataBind(); 没有绑定怎么会显示数据呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询