如何在datagridview中设置列的宽度

时间:2009-10-21 17:49:15

标签: vb.net

我有一个datagridview和几个testbox。用户在文本框中输入详细信息,按下后输入它会添加到datagridview中。现在问题是用户将被允许将行保存到文本文件中,但它没有以正确的格式保存,即我得到:

Quantity  Name  Rate
--------------------
12 wers 30
2323 ertd 40

但我希望它像这样保存

Quantity  Name  Rate
--------------------
12        wers  30
2323      ertd  40

vb.net中的任何想法???请帮助我

1 个答案:

答案 0 :(得分:1)

您想要创建固定列宽文本文件,对吗?

您正在用空格分隔单元格值,但您需要先格式化它们,然后才能使给定列的所有单元格的宽度相同(以字符为单位)。

要为column1执行此操作,例如:

  • 计算可适合所有单元格的最大宽度(或选择一些您不知道不会超出的值)。
  • 使用String.Format函数填充(左或右)单元格字符串以及您需要的确切空格字符:

假设max column1 width = 50;获得50个字符串的第一个单元格:

string cellValue = String.Format("{0, -50}", dataGridView1.Rows[0]
                                            .Cells[0]
                                            .Value.ToString());

// -50 tells the format function to return a string with a length >= 50, 
// but because you calculated this value to fit to all cells, 
// cellValue.Length is 50.
// Spaces are added to the right,(50 instead of -50 to add spaces to the left)