我在同一个winform窗体上放了2个DataGridView,窗体加载时想给这两个DataGridView都绑定上数据并显示,现在却始终只能显示一个,实际上都取到数据了,不知道问题出在哪儿,求助
代码如下:
private void frmMain_Load(object sender, EventArgs e) { LoaddgvSignUpInfo();//载入1 LoaddgvEnterSchoolInfo();//载入2 } private void LoaddgvSignUpInfo() { string sql = "select top 50 Id,StudentName from StudentSignUpInfo"; SqlDataReader reader = SqlHelper.ExecuteReader(sql); if (reader.HasRows) { BindingSource bs = new BindingSource(); while (reader.Read()) { bs.DataSource = reader; dgvSignUpInfo.DataSource = bs;//绑定datagridview1的数据 } } } private void LoaddgvEnterSchoolInfo() { string sql2 = "select top 50 Id,StudentName from StudentEnterSchoolInfo"; SqlDataReader reader2 = SqlHelper.ExecuteReader(sql2); if (reader2.HasRows) { BindingSource bs2 = new BindingSource(); while (reader2.Read()) { bs2.DataSource = reader2; this.dgvEnterSchoolInfo.DataSource = bs2;//绑定datagridview2上的数据 } } }
问题解决了吗?我用了你的代码,没有出现这个问题,显示如下:
代码如下:
谢谢,我把其中一改成dataset了,可以显示了
好像程序没用问题,可能是你的datagridview设置,隐藏吧
设断点跟一下嘛,看看是不是有数据。
有数据的,如果只加载一个就可以,我交替测试过了,就是不能同时加载
@沉默为金: 数据源改用DataTable 不要用SqlDataReader
发现一个严重的问题,你的DataReader不需要关闭吗?
嗯,我先测试,正常了以后 using一下