2011-09-20 165 views
7

Im在C#中的Datatable存在问题。我有一个Datatable与列。我想手动设置列的大小,我该怎么做?C#Datatable列宽

这是代码:

dt = new DataTable(); 

DataColumn culAvs = new DataColumn("Avskiping", typeof(string)); 
DataColumn culKota = new DataColumn("Kota", typeof(string)); 
dt.Columns.Add(culAvs); 
dt.Columns.Add(culKota); 
dataGrid1.DataSource = dt; 
+1

你不应该使用System.Data.DataTable的DataColumns,也就是数据容器,结果的类型的数据库查询。 您应该自定义DataGrid列的大小,这是您用来呈现数据的UI控件。 –

+0

这是什么意思的大小像文本的长度在这种情况下? – V4Vendetta

+0

http://stackoverflow.com/questions/2175274/dynamically-assign-a-column-width-to-a-winforms-datagrid – Dmitry

回答

2

数据表不包含用户界面相关的属性,它是一个数据容器。 您需要在数据网格上定义列可视属性。

+0

可能的重复我明白了,但我该怎么做? – Roi84

+0

@ Roi84如果使用ASP.net,则可以通过更改itemstyle属性来设置数据网格列的宽度:http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.datagridcolumn。 itemstyle.aspx –

8

如果您正在讨论列中数据的最大长度,您可能会对DataColumn.MaxLength属性感兴趣。但是如果你在谈论列的视觉宽度,你应该使用DataGrid列的Width属性:dataGrid1.Columns[ ... ].Width = ...