我有一个asp.net
(C#
)项目我正在使用gridview
来显示详细信息。但我的所有细胞大小不一样。请帮我把它们制成相同的尺寸。
aspx
设计代码Gridview
:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
DataSourceID="SqlDataSource1" ForeColor="#333300"
onpageindexchanging="GridView1_PageIndexChanging"
AutoGenerateColumns="False" EnableSortingAndPagingCallbacks="True"
HorizontalAlign="Center" PageSize="5">
<RowStyle HorizontalAlign="Center" VerticalAlign="Middle" Wrap="True" />
<Columns>
<asp:BoundField DataField="Enrollment" HeaderText="Enrollment"
SortExpression="Enrollment" />
<asp:BoundField DataField="Subject" HeaderText="Subject"
SortExpression="Subject" />
<asp:BoundField DataField="Message" HeaderText="Message"
SortExpression="Message" />
</Columns>
<FooterStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<PagerStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<HeaderStyle BorderColor="Black" BorderStyle="Inset" HorizontalAlign="Center"
VerticalAlign="Middle" />
<EditRowStyle BorderStyle="Solid" />
</asp:GridView>
答案 0 :(得分:3)
您可以为网格视图指定100%的宽度。因为您提供的图像的网格视图具有整页宽度。
<asp:GridView ID="dtgGrid" runat="server" Width="100%" >
然后,您可以为列提供相同的宽度百分比如下所示。 代码可能会根据您的设计进行更改。但方法如下。
<HeaderStyle Width="33%" />
您的代码
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
DataSourceID="SqlDataSource1" ForeColor="#333300"
onpageindexchanging="GridView1_PageIndexChanging"
AutoGenerateColumns="False" EnableSortingAndPagingCallbacks="True"
HorizontalAlign="Center" PageSize="5" Width="100%">
<RowStyle HorizontalAlign="Center" VerticalAlign="Middle" Wrap="True" />
<Columns>
<asp:BoundField DataField="Enrollment" HeaderText="Enrollment"
SortExpression="Enrollment" />
<asp:BoundField DataField="Subject" HeaderText="Subject"
SortExpression="Subject" />
<asp:BoundField DataField="Message" HeaderText="Message"
SortExpression="Message" />
</Columns>
<FooterStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<PagerStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<HeaderStyle BorderColor="Black" BorderStyle="Inset" HorizontalAlign="Center"
VerticalAlign="Middle" Width="33%" />
<EditRowStyle BorderStyle="Solid" />
</asp:GridView>
答案 1 :(得分:3)
尝试添加RowStyle
<RowStyle Width="300px"/>
<强>(OR)强>
1.在标题中添加CSS。
<style type="text/css">
.maxWidthGrid
{
max-width: 300px;
overflow: hidden;
}
</style>
2.然后在必要的列中使用CSS,例如ItemStyle-CssClass =“maxWidthGrid”
<asp:BoundField ItemStyle-CssClass="maxWidthGrid" DataField="ClientName" HeaderText="Client Name"
ReadOnly="True" SortExpression="ClientName" />
<强>(OR)强>
要修复列的宽度,我们应该破坏单元格中的文本。以下代码供您参考。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
foreach (TableCell myCell in e.Row.Cells)
{
myCell.Style.Add("word-break", "break-all");
myCell.Width = 300;
}
}
答案 2 :(得分:1)
修复列宽或您可以使用 css ,或者使用 SQL 还有一个选项只写这样的查询:
SELECT Enrollment, Subject, SUBSTRING(Message, 0, 35) AS Message
FROM tblInfo