0

私は次のように作成されたDataGridを持っています:-

<asp:DataGrid id="myGrid"
              BorderWidth="1"
              CellPadding="3"
              AutoGenerateColumns="true"
              runat="server"
              OnSelectedIndexChanged="myGridSelectedCallback">
    <HeaderStyle CssClass="subHeader"></HeaderStyle >
    <Columns>
        <asp:ButtonColumn HeaderText=""
                          ButtonType="LinkButton"
                          Text="Display"
                          CommandName="Select">
        </asp:ButtonColumn>
     </Columns>
 </asp:DataGrid>

そして、次のようにコードビハインドに列が追加されます:-

 DataTable dt = new DataTable();
 dt.Columns.Add(new DataColumn("MyCol", typeof(string)));

しかし、それに行を追加すると、列のテキストが別の行に折り返されることがあります。これには理由がないようです。列のMaxLengthは-1であり、追加された文字列には改行やその他の制御文字はありません。

私がしたいのは、列の中で最も長い文字列に対応できるように列を広げることです(文字列はわずか20文字程度です)。他のみんなが反対の問題を抱えているように見えるので、私はこれについて何も見つけることができません。

(このグリッドは内に含まれていますdivが、div最大幅はありません。)

4

1 に答える 1

1

使ってみてくださいHeaderStyle-Wrap="False"

<asp:DataGrid id="DataGrid1" runat="server">
    <Columns>
        <asp:BoundColumn HeaderStyle-Wrap="False"></asp:BoundColumn>
        <asp:TemplateColumn HeaderStyle-Wrap="False"></asp:TemplateColumn>
    </Columns>
</asp:DataGrid>

また、これを確認できます。Visual Basic.NETでItemStyleWrapプロパティまたはHeaderStyleWrapプロパティがfalseに設定されている場合、DataGridWebサーバーコントロールがラップします。

于 2013-01-11T14:30:12.060 に答える