我有以下asp.net表,使用datagrid创建:
<%@ Page Language="vb" MasterPageFile="~/Masterpage.master" AutoEventWireup="false" MaintainScrollPositionOnPostback="true" CodeFile="View.aspx.vb" Inherits="MDGRenewals.page_views" %>
<%@ Register Src ="~/Webcontrols/Admin/Users/RoleManager.ascx" tagprefix="mdg" TagName="rolemanager" %>
<asp:Content ID="Content1" ContentPlaceHolderID="contentMain" runat="server">
<form id="Form1" method="post" runat="server">
<p><asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" CellPadding="3">
<ItemStyle CssClass="DGR_ITEM"></ItemStyle>
<HeaderStyle CssClass="DGR_HEADER"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="Username">
<ItemTemplate>
<asp:Label id="Label1" runat="server" Text='<%#Eval("user_id")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Page">
<ItemTemplate>
<asp:Hyperlink id="Link1" runat="server" Text='<%#Container.DataItem("page_name")%>'></asp:Hyperlink>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="View Count">
<ItemTemplate>
<asp:Label id="Label3" runat="server" Text='<%#Container.DataItem("Count")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid></P>
</form>
</asp:Content>
我的问题是我希望能够设置列的宽度,但我无法做到这一点。
从代码中可以看出,我尝试过:
<ItemStyle Width="200px"></ItemStyle>
<HeaderStyle Width="200px"></HeaderStyle>
但它没有回应。
我已经编辑了帖子以包含css以及使用css的评价:
.DGR_HEADER
{
font-weight: bolder;
font-size: 11px;
vertical-align: baseline;
width: 200px;
cursor: default;
color: black;
font-family: Tahoma, Arial, Verdana, Helvetica, sans-serif;
background-color: LightSteelBlue;
text-align: center;
text-decoration: none;
height:15px;
}
.DGR_ITEM
{
font-weight: normal;
font-size: xx-small;
width: 200px;
cursor: default;
color: black;
font-family: Tahoma, Arial, Verdana, Helvetica, sans-serif;
height: 20px;
background-color: silver;
text-align: left;
}
答案 0 :(得分:4)
试试这个。您可以像这样设置列的宽度
ItemStyle-Width="30"
<asp:TemplateColumn HeaderText="Username" ItemStyle-Width="30">
答案 1 :(得分:1)
ItemStyle-Width和HeaderStyle对我来说都不起作用......直到我的网格足够宽,以至于它有“空间”来扩展相关列。
我一直将列宽设置为400px,没有任何改变!
然后我将我的整个网格设置为4000px,而oila,现在该列实际上是400px。所有的列都被挤压在一起,所以不能生长那一列。
这可能不是每个人的答案,但如果你不能让这些属性起作用,请尝试一下。
答案 2 :(得分:0)
由于datagrids只渲染普通的html <table>
,你可以使用css:
table td {
width: 200px;
}
要引用单个表格,您可以将其直接放在aspx
文件(或ascx
或whaterver)中
#<%= this.DataGrid1.ClientID %> td {
width: 200px;
}