datagridview中显示的数据库中的数据不足以填充满

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了datagridview中显示的数据库中的数据不足以填充满相关的知识,希望对你有一定的参考价值。

datagridview中显示的数据库中的数据不足以填充满,后面还有一大块灰的特不好看,怎么样才能增加数据的列距把框填满呢。

参考技术A 1、可以调整你的DataGridView控件的大小;
2、如果DataGridView控件需要固定的宽度,可以增加数据列的宽度或是添加一个空列;追问

具体是怎么调啊,说明一下啊,要是在属性里面改的话是该哪个,要是改程序的话程序是什么

追答

修改属性的话就是“Size”那个,前面的数字是宽度,后面是高度;
如果填充DataGridView数据是用的代码的话,添加代码:
this.dataGridView1.Size=new Size(800,600); //需要using Sysem.Drawing;

追问

我显示的是对应的数据库里面的内容,例如通过按查询,把相应的信息在DataGridView里面显示,但是可能显示的内容列数不够,后面就空了一块,是可以通过调节列宽来全铺满DataGridView吧。
你上面说的我都试过了,不行哦,我是想调DataGridView里面的列宽哦,麻烦你了

追答

列宽啊,得先问下你的数据是怎么填充到控件里的,DataGridView.DataSource=?还是设置控件的Columns属性添加的列?或是全部用的代码填充数据?你的DataGridView控件必须是固定大小的吗?
要不你直接把项目发给我也可以

追问

this.CustomerGridView.DataSource = source,这种的,需要怎么弄呢

追答

直接在Columns属性里面设置列的宽度就行了

参考技术B 例如:
dataGridView1.Columns[0].Width = 100;
dataGridView1.Columns[1].Width = 55;
我们可以利用dataGridView中将Columns设置每一列的宽度追问

Columns里面显示的列数为0啊,怎么设置。

追答

中括号中的0是默认的第一列,你也可以在中括号中写表的属性名

本回答被提问者采纳
参考技术C 设置空间的AutoSizeColumnsMode的属性为fill追问

在属性里面没有找到AutoSizeColumnsMode的啊

参考技术D 设置控件的宽度即可,如width可以设置为100% 第5个回答  2012-05-06 在单元格里填充   空格符

DataGridView不显示MySQL表中的数据

我已经开始学习在C#中使用MySQL了,我无法将数据从表加载到DataGridView中,无论我在启动程序时做什么都是空白。

我已经看过关于这个问题的多个线程和youtube视频,尝试了不同的方法。我尝试dataGridView1.AutoGenerateColumns = true,它仍然是空白,并尝试使用设计器添加列并将其dataPropertyName更改为表列的名称,它只显示我添加的6列中的2列。当我在将其数据源连接到表后尝试检查bs计数时,它显示9行(这是我在MySQL表中有多少),而datagridview.RowCount显示10。

http://prntscr.com/mmqeb9这是设计师的表格外观

http://prntscr.com/mmqerp这是我启动它后的表格

http://prntscr.com/mmqf1t这是MySQL表

编辑:

prntscr.com/mmqvhw我不确定这是否是什么但当我查看Binding Source bs中的行结果时我发现ItemArray是索引6而行应该是5.是DVG显示第6个索引是空,这就是为什么它显示黑色DVG

编辑2:添加这个愚蠢的代码行MessageBox.Show(Convert.ToInt32(bs [0])。ToString()),试图显示bs的数据,我得到InvalidCastException,并在该表完全显示后http://prntscr.com/mmrfw7

我不知道我在这一点上做了什么我尝试了所有的任何帮助将不胜感激

这是应该填充datagridview的代码的一部分:

            MySqlDataAdapter adapter = new MySqlDataAdapter();

            MySqlCommand cmd;

            DataSet ds = new DataSet();

            BindingSource bs = new BindingSource();

            string strcmd = "SELECT * FROM lek;";

            cmd = new MySqlCommand(strcmd, connection);

            connection.Open();

            //adapter
            adapter.SelectCommand = cmd;

            adapter.Fill(ds);          

            bs.DataSource = ds.Tables[0];

             //datagridview

            dataGridView1.AutoGenerateColumns = true;

            MessageBox.Show(bs.Count.ToString());

            dataGridView1.DataSource = bs;

            MessageBox.Show(dataGridView1.RowCount.ToString());
答案

我刚开始新项目并复制了代码。按照预期工作。

以上是关于datagridview中显示的数据库中的数据不足以填充满的主要内容,如果未能解决你的问题,请参考以下文章

DataGridView控件中的数据显示不出来

vb.net中从excel读取数据到DataGridView中的数据显示问题

DataGridView控件表格中的数据显示不出来

datagridView 加载数据中的数据,数据显示很慢,一行一行显示出来 解决方案

如何将多个表中的数据显示到dataGridView

DataGridView不显示MySQL表中的数据