visualstudio中在窗体控件中添加datagridview绑定数据后加载不显示数据的原因及解决办法

时间:2025-04-16 07:19:56

在visualstudio窗体控件中给datagridview绑定数据:
1.拖拽一个控件到窗体中
2.在属性面板中选择data source并选择添加数据源
3.在向导中选择数据库并依次选择直到选择了对应数据库表格中的某些列
4.这时点击运行,发现没有数据
原因:因为在初始化时缺少了一句:

this.projectsTableAdapter.Fill(this.pMDataSet.Projects);

其中的变量projectsTableAdapter和pMDataSet由系统自动生成,我们可以转到初始化的定义代码中去把这两个变量找出来,也可以根据经验猜出来(一般自动生成的变量就是第一个字母小写),如果这两个都不行,那我们可以另外实例化这两个变量,重新给他引入数据:

首先对dataset结构的实例化:

PMDataSet.ProjectsDataTable projects = new PMDataSet.ProjectsDataTable();

这时,数据集表格projects才真正创建了,
然后,用adapter填充数据:

            projectsTableAdapter.GetData();
            projectsTableAdapter.Fill( projects);

这时数据集中才有了数据。
接着,就该将数据填充到datagridview里了:

this.dataGridView1.DataSource = projects;

这时,datagridview里才会填充上数据。
也就是说,在我们绑定数据的过程中,生成的数据集只是一个引用类型,这样可以用来实例化多个数据集,以方便我们在不同的地方多次创建这种结构的数据集,而adapter是直接生成的变量,是可以对所有的这种数据集进行填充的。

public AllDillsControl1()
        {
            InitializeComponent();
            PMDataSet.ProjectsDataTable projects = new PMDataSet.ProjectsDataTable();
            projectsTableAdapter.GetData();
            projectsTableAdapter.Fill( projects);
            this.dataGridView1.DataSource = projects;
        }

如图,这就是初始化加载代码,只需要在里面加上四行,就可以完成datagridview的数据填充显示了。