gym*_*ode 4 c# asp.net gridview
我在VS2005上使用ASP.NET C#。
我有一个GridView表,其中的列名为Description,并且由于输入始终很长,因此描述在水平方向上很长。
我希望GridView的所有列都具有最大宽度。
我尝试了很多方法,但没有一个起作用。
ItemStyle-Width="50px",
HeaderStyle-BorderWidth="50px",
HeaderStyle-Width="50px",
RowStyle-Width="50px",
Width="50px"
下面是我的GridView的代码片段:
<asp:GridView ID="GridView1" AutoGenerateEditButton="True" ondatabound="gv_DataBound" runat="server" DataSourceID="SqlDataSource1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="UserSelector" OnCheckedChanged="UserSelector_CheckedChanged" ondatabound="gv_DataBound" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
有人知道如何根据我的情况调整GridView列的大小吗?
这就是我控制列宽的方法。
1.在标题中添加CSS。
<style type="text/css">
.maxWidthGrid
{
max-width: 300px;
overflow: hidden;
}
</style>
Run Code Online (Sandbox Code Playgroud)
2.然后在这样的必要列中使用CSS ItemStyle-CssClass="maxWidthGrid"
<asp:BoundField ItemStyle-CssClass="maxWidthGrid" DataField="ClientName" HeaderText="Client Name"
ReadOnly="True" SortExpression="ClientName" />
Run Code Online (Sandbox Code Playgroud)
我改变了我的代码,你在想什么?
<RowStyle Width="150px"/>
Run Code Online (Sandbox Code Playgroud)
删除所有隐藏的东西
<asp:TemplateField><ItemTemplate> </ItemTemplate></asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
只需使用简单的
<columns> </columns>
Run Code Online (Sandbox Code Playgroud)
在这里,我认为您的代码看起来像 AutoGenerateColumns="True" 或 false 似乎并不重要
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" DataSourceID="SqlDataSource1">
<Columns>
<asp:CheckBox ID="UserSelector" OnCheckedChanged="UserSelector_CheckedChanged" ondatabound="gv_DataBound" runat="server" />
</Columns>
<RowStyle Width="150px"/>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)