DataTable只是储存数据表的
要绑定到datagrid或别的控件显示出来
这样就要设置datagrid的列宽度,跟datatable是无关的

解决方案 »

  1.   

    一般来说,是要设置datagrid表样式的:如下方法可以取得某一列的一行使用特定字体显示时数据的宽度,当然你也同样可以取得这列的列标题的宽度。(其中,dataRow为操作的datatable的任一行,
    icurrcol为列序号,主要就是使用MeasureString.
    Dim iColHight As Integer = CInt(Graphics.MeasureString(dataRow.ItemArray(icurrcol).ToString(), dataGrid.Font).width)
      

  2.   

    一般来说,是要设置datagrid表样式的:如下方法可以取得某一列的一行使用特定字体显示时数据的宽度,当然你也同样可以取得这列的列标题的宽度。(其中,dataRow为操作的datatable的任一行,
    icurrcol为列序号,主要就是使用MeasureString.)
    代码如下:
    Dim iColHight As Integer = CInt(Graphics.MeasureString(dataRow.ItemArray(icurrcol).ToString(), dataGrid.Font).width)
      

  3.   

    通过取得数据库种子段的最大长度,来设置datagrid的列宽度