2016-08-21 4 views
0

私は2つの長い列Primary_SkillとResume_Titleを持つgridviewを持っています。私は、列の幅を設定し、同様にラップしますが、折り返しは2行を超えていませんが、最初の2つの列は幅が設定されているものと比較してより広いように見えます。残りの列は同じ画面に表示されません。以下は私のコードです。グリッドビューboundfield幅は、テキストが長くてラップされているときに制御されません

<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>

列の値が短い場合、それはうまく表示されますが、それが長い場合、それはないです。以下はスクリーンショットです。これは、この画面のすべての列を受け入れるための画面全体です。

enter image description here

答えて

1

div内のコンテンツを置く

.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>

1

は、各ジョブのスキルの間のスペースを取得します。 Java,J2EEではなく、Java, J2EEです。スペースなしで接続されている場合、ブラウザは1つの文字列として表示し、1行に配置します。文字列に空白または-がある場合、単語をセルにラップできます。 Spring Frameworkは文字列全体に最初のスペースを持っています。そのため、その時点で2行目に移動しています。

「Resume Title」と同じです。すべてのアンダースコアを含むWord文書は常に1行に表示され、列の最小幅が決定されます。この文字列をセルに折り返すことはできません。どちらかのみ、そのセル内の文字の固定数を表示したり、overflow: hidden

+0

これは良いですが、以下のようboundfield変更したが、これは入力されたユーザーですデータと私はそれを操作すべきではありません。私は別の良いオプションを見つけました。 – Anurag

関連する問題