我有一个gridview,我有两个长列Primary_Skill和Resume_Title。我设置了列的宽度并将它们包裹起来,但是换行不超过2行,并且前两列的宽度与宽度的设置相比仍然更宽。其余列不显示在同一屏幕中。以下是我的代码。
<asp:GridView ID="grdSearchResult" runat="server" DataKeyNames="SeekerEmail_Id, Extension"
OnRowDataBound="OnRowDataBound" AutoGenerateColumns="False" BorderWidth="1px"
BackColor="White" CellPadding="5" BorderStyle="None" BorderColor="Gray" Width="100%"
GridLines="Both">
<FooterStyle ForeColor="Black" BackColor="White"></FooterStyle>
<PagerStyle ForeColor="Black" HorizontalAlign="Center" BackColor="White"></PagerStyle>
<HeaderStyle ForeColor="White" Font-Bold="True" BackColor="Green" Width="25%"></HeaderStyle>
<Columns>
<asp:BoundField HeaderText="Job Skills" DataField="Primary_Skill" SortExpression="Primary_Skill"
ItemStyle-HorizontalAlign="Center" ItemStyle-Wrap="true">
<ItemStyle Width="25%" />
</asp:BoundField>
<asp:BoundField HeaderText="Resume Title" DataField="Resume_Title" SortExpression="Resume_Title"
ItemStyle-HorizontalAlign="Center" ItemStyle-Width="25%" ItemStyle-Wrap="true">
</asp:BoundField>
<asp:BoundField HeaderText="Exp (Years)" DataField="Experience" SortExpression="Experience"
ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%"></asp:BoundField>
<asp:TemplateField HeaderText="Location" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20%">
<ItemTemplate>
<asp:Label ID="lblLocation" runat="server" ToolTip='<%# Eval("Location")%>' Text='<%# Eval("Location").ToString().Shorten(30) %>'
Style="word-wrap: normal; word-break: break-all; cursor: default;"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Post Date" DataField="Creation_Date" SortExpression="Creation_Date"
ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%" DataFormatString="{0:dd-MM-yyyy}">
</asp:BoundField>
<asp:TemplateField HeaderText="Download Resume" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:UpdatePanel ID="lnkdownldUpdate" runat="server">
<ContentTemplate>
<asp:LinkButton ID="lnkDownload" ToolTip='<%#Eval("SeekerEmail_Id")%>' Text='<%#Eval("SeekerEmail_Id").ToString().Shorten(30) %>'
CommandArgument='<%# Eval("Resume_Title") %>' OnClick="DownloadFile" runat="server"
Style="word-wrap: normal; word-break: break-all; cursor: pointer;"></asp:LinkButton>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="lnkDownload" />
</Triggers>
</asp:UpdatePanel>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<SelectedRowStyle ForeColor="White" Font-Bold="True" BackColor="#008A8C"></SelectedRowStyle>
<RowStyle ForeColor="Black" BackColor="White"></RowStyle>
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#0000A9" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#000065" />
</asp:GridView>
当列值很短时,它显示正常,但是当它很长时则不显示。以下是截图。这是我希望在此屏幕中容纳所有列的整个屏幕。
答案 0 :(得分:1)
在每个工作技能之间腾出空间。不是Java,J2EE
,而是Java, J2EE
。如果它们没有空格连接,浏览器会将其视为1个单独的字符串并将其放在一行上。如果字符串中有空格或-
,它可以包装单元格中的单词。 Spring Framework在整个字符串中有第一个空格,这就是为什么它在那时转到第二行。
简历标题也是如此。包含所有下划线的Word文档将始终显示在一行中,并将确定列的最小宽度。同样,这个字符串不能包含在单元格中。要么只在该单元格中显示固定数量的字符,要么将内容放在div
内overflow: hidden
答案 1 :(得分:1)
修改boundfield,如下所示
.grdSearchResultbreakword
{
word-wrap:break-word;
word-break:break-all;
}
<asp:BoundField HeaderText="Job Skills" DataField="Primary_Skill" SortExpression="Primary_Skill"
ItemStyle-Width="40%" ItemStyle-HorizontalAlign="Center" ItemStyle-Wrap="true"
ItemStyle-CssClass="grdSearchResultbreakword"></asp:BoundField>