关于 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个回答
展开全部
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);
你这个dg对象是在内存里面的 并没有在界面上显示 也就看不到数据了
dataGridView.AutoGenerateColumns = true;
dataGridView.AllowUserToAddRows = true;
dataGridView.DataSource = ds.Tables[0]; //AA
string k = dataGridView.Rows.Count.ToString(); //BB
MessageBox.Show(k);
你这个dg对象是在内存里面的 并没有在界面上显示 也就看不到数据了
追问
显示的那一部分代码我没贴上来,因为没必要,主要问题是,数据库的内容存放不到我自己手动新建的dataGridView里面。
追答
你在这行代码出加个断点 da.Fill(ds,"表1"); //AA
然后 监视 ds 看看 里面有没有表 表里面有没有数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,看看DataTable中是否有数据,我最近再用这个控件,试了一下,完全可以。代码如下:
DataTable dt = new DataTable();
dt.Columns.Add("No");
dt.Columns.Add("Name");
for (int i = 0; i < 2; i++)
{
DataRow dr = dt.NewRow();
dr["No"] = "F" + i.ToString();
dr["Name"] = "name" + i.ToString();
dt.Rows.Add(dr);
}
DataGridView dgvData = new DataGridView();
dgvData.AutoGenerateColumns = true;
dgvData.AllowUserToAddRows = true;
dgvData.DataSource = dt;
this.Controls.Add(dgvData);
其中this是一个Form.
另外,一定要有表头才会有数据
DataTable dt = new DataTable();
dt.Columns.Add("No");
dt.Columns.Add("Name");
for (int i = 0; i < 2; i++)
{
DataRow dr = dt.NewRow();
dr["No"] = "F" + i.ToString();
dr["Name"] = "name" + i.ToString();
dt.Rows.Add(dr);
}
DataGridView dgvData = new DataGridView();
dgvData.AutoGenerateColumns = true;
dgvData.AllowUserToAddRows = true;
dgvData.DataSource = dt;
this.Controls.Add(dgvData);
其中this是一个Form.
另外,一定要有表头才会有数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
现在做dataGridView绑定数据根本不用写代码的。首先添加新项data-->ado.net entity data model 进去找到你的数据库找到你要绑定的表再编译下然后再加新项web->domain service class
进去找到你所选的表。再去打开数据源直接拖出来,就得到绑定你要的数据的dataGridView了
进去找到你所选的表。再去打开数据源直接拖出来,就得到绑定你要的数据的dataGridView了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刚试了下,发现果然存在这个问题,绑定后 它的DataSource 中是有数据的
但是却没有对应到 rows 和column中,
额,看来还有很多问题忽视了、、、
感谢LZ。
但是却没有对应到 rows 和column中,
额,看来还有很多问题忽视了、、、
感谢LZ。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询