DataGridView仅显示直到窗口末尾的行

时间:2014-05-15 00:25:20

标签: c# datagridview

所以,我有一个DataGridView,我在程序执行期间加载。 我通过以下代码设置了网格的列:

for (int i = 0; i < vet.Length; i++)
            {
                dataGridView1.Columns.Add("column" + i, vet[i]);
                dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            }

我通过以下代码手动添加每一行:

for (int i = 0; i < atributtes.Count; i++)
            {
                vet = new string[atributtes[0].Count];
                for (int j = 0; j < vet.Length; j++)
                    vet[j] = atributtes[i][j].ToString();
                dataGridView1.Rows.Add(vet);
            }

我正在从文本文件中读取此vet数组。 ScrollBars在表单属性中设置,我已经双重检查。

这里的问题是这段代码确实有效,它填充了网格,但仅限于窗口中的终点。在该点之后添加的行不显示,滚动条不显示它们。 为了更准确,它只显示一行通过该点:

DataGridView not collaborating with me

加载循环每827个循环执行一次,每次它都会发出Rows.Add()个错误,但最终产品中只显示约20行。 我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

您是否检查过atributtes.Count的价值?你的代码片段似乎没问题。我建议你检查一下你的数据。我知道这是假设,但我无法发表评论,所以我发布了答案。

我希望我帮助你。

修改

我想我发现代码中有什么问题。你能尝试删除这一行

吗?

dataGridView1.Columns [i] .AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

我认为您的自动调整大小模式中存在一个冲突并且滚动条。 我希望我帮助你。