在datagrid里可视化的属性设置里就有列宽设置

解决方案 »

  1.   

    设置      OnItemCreated="ItemCreated"Protected Sub ItemCreated(Sender As Object, e As DataGridItemEventArgs)if e.Item.ItemType=ListItemType.Header then
    Dim i as Integer
    Dim widths() As String = {1000, 80, 120, 100, 100, 50, 150}
            For i = 0 To e.Item.Cells.Count - 1
                e.Item.Cells(i).Width = Unit.Parse(widths(i))
            Nextend if
    End Sub
      

  2.   

    用模板列绑定数据后例如  <asp:TemplateColumn HeaderText="内容">
    <ItemTemplate>
    <asp:label Text='<%# container.dataitem("mcontent")  %>' Width=210 Runat=server ID="Label1"/>
    </ItemTemplate>
    </asp:TemplateColumn>上边的 width 属性就是其宽度
      

  3.   

    在datagrid 的属性生成器中设置列宽
      

  4.   

    我的代码这样子的,加在Page_Load中可以改变的了
    [C#]
    private void setwidth()
    {
    string[] arr=new string[4]{"20","85","125","580"};
    for (int i=0;i<MyDataGrid.Columns.Count;i++)
    {
    MyDataGrid.Columns[i].ItemStyle.Width=Unit.Parse(arr[i].ToString());
    }
    }不知道你的为什么不行!其他的都没有什么设置
      

  5.   

    因为他并没设 AutoGenerateColumns="false",我想
      

  6.   

    同意yohomonkey(ht)说法我正是遇到这个问题?那又该怎么解决?
      

  7.   

    譬如如果一列宽度设定为50px,但有一个数据很长,如:
    [email protected]结果定义的宽度失效了怎么办啊!?
      

  8.   

    把每一列绑定到<asp:BoundColumn  />里再设置他的宽度应该可以.
      

  9.   

    nidttmwwt(beibi) 能具体说说吗
      

  10.   


    采用qiushuiwuhen(秋水无恨)上面的方法和后来提供的方法:
    style="word-wrap:break-word;"问题解决。