【发布时间】:2015-11-25 15:20:54
【问题描述】:
在我的 ASP.NET Gridview 中,列的宽度由 headertext(或单元格中的内容)确定。在我的情况下,我有一个带有复选框的列,我将列标题垂直放置,但列宽根据标题文本而变化。 所以我想做的就是手动做一个小专栏。我尝试了下面代码中显示的标准。
<asp:TemplateField AccessibleHeaderText="Geen" HeaderText="Geen trans" HeaderStyle-CssClass="VerticalHeader" ItemStyle-Width="10" ItemStyle-Wrap="false" HeaderStyle-Width="10" HeaderStyle-Wrap="false" HeaderStyle-HorizontalAlign="Left" >
<ItemTemplate>
<asp:CheckBox ID="cbNoTransport" runat="server" AutoPostBack="true" OnCheckedChanged="cbNoTransport_OnCheckedChanged"/>
</ItemTemplate>
</asp:TemplateField>
<div id="grid" style="overflow:scroll; overflow-Y:hidden;" >
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"
DataKeyNames="Barcode" DataSourceID="SqlDataSource1"
EmptyDataText="There are no data records to display." AllowPaging="True"
AllowSorting="True" onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleted="GridView1_RowDeleted" onrowediting="GridView1_RowEditing"
onrowupdated="GridView1_RowUpdated" onsorted="GridView1_Sorted"
onpageindexchanged="GridView1_PageIndexChanged" PageSize="30"
CssClass="Grid" onrowcommand="GridView1_RowCommand"
onrowdatabound="GridView1_RowDataBound" >
<Columns>
<asp:BoundField DataField="Barcode" HeaderText="Barcode"
SortExpression="Barcode">
</asp:BoundField>
<asp:BoundField DataField="Werkpakket" HeaderText="Werkpakket"
SortExpression="Werkpakket">
</asp:BoundField>
<asp:BoundField DataField="HA" HeaderText="HA" SortExpression="HA" />
<asp:BoundField DataField="Discipline" HeaderText="Discipline"
SortExpression="Discipline" >
</asp:BoundField>
<asp:BoundField DataField="Type" HeaderText="Type"
SortExpression="Type" >
</asp:BoundField>
<asp:BoundField DataField="Apparaat" HeaderText="Apparaat"
SortExpression="Apparaat" />
<asp:TemplateField AccessibleHeaderText="Geen" HeaderText="Geen trans" HeaderStyle-CssClass="VerticalHeader" ItemStyle-Width="1%" ItemStyle-Wrap="false" HeaderStyle-Width="1%" HeaderStyle-Wrap="false" HeaderStyle-HorizontalAlign="Left" >
<ItemTemplate>
<asp:CheckBox ID="cbNoTransport" runat="server" AutoPostBack="true" OnCheckedChanged="cbNoTransport_OnCheckedChanged"/>
</ItemTemplate>
<ItemStyle Width="5%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Lijn dienst" HeaderStyle-CssClass="VerticalHeader">
<ItemTemplate>
<asp:CheckBox ID="cbNoTransport" runat="server" AutoPostBack="true" OnCheckedChanged="cbNoTransport_OnCheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Intercity" HeaderStyle-CssClass="VerticalHeader">
<ItemTemplate>
<asp:CheckBox ID="cbNoTransport" runat="server" AutoPostBack="true" OnCheckedChanged="cbNoTransport_OnCheckedChanged"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Appendage" HeaderText="Appendage"
SortExpression="Appendage" />
<asp:BoundField DataField="Leiding" HeaderText="Leiding"
SortExpression="Leiding" />
<asp:BoundField DataField="user_added" HeaderText="user_added"
SortExpression="user_added" />
<asp:BoundField DataField="DTPrinted" HeaderText="DTPrinted"
SortExpression="DTPrinted" >
</asp:BoundField>
<asp:BoundField DataField="DTUpdated" HeaderText="DTUpdated"
SortExpression="DTUpdated" />
</Columns>
<HeaderStyle HorizontalAlign="Left" Wrap="False" />
<RowStyle HorizontalAlign="Left" Wrap="False" />
用 gridview 的代码编辑。
谁能帮我解决这个问题?
【问题讨论】:
-
在
</ItemTemplate>下,放入<ItemStyle Width="20px" />。 -
@TestWell 它没有任何区别。
-
你是不是要实现竖排文字?
-
@TestWell no for Firefox 我明白了。我只需要更改列宽。
标签: c# asp.net gridview column-width