2017-09-12 4 views
1

J'ai que GridView dans la valeur par défaut « anglais » langue Gridview in "English"en changeant la langue de gridview en utilisant le fichier de ressources (.resx) la mise en page reste pas la même

Quand je change la langue à l'aide DropDownList à « ourdou » la Le fichier de ressources change la langue en "Ourdou" mais l'alignement des cellules ne reste pas le même. Gridview in "Urdu"

Je pense que parce que "Ourdou" est la langue RTL, c'est pourquoi il est en train de changer la disposition. Je veux préserver la disposition de GridView. Merci

Voici le code:

<asp:GridView DataKeyNames="id" Width="455px" ID="gvProducts" runat="server" AutoGenerateColumns="False" CssClass="grid" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataSourceID="dsCandidate" GridLines="Horizontal" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" meta:resourcekey="gvProductsResource1"> 
        <AlternatingRowStyle BackColor="#F7F7F7" /> 
        <Columns> 
         <asp:BoundField DataField="id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="id" meta:resourcekey="BoundFieldResource1" /> 
         <asp:BoundField DataField="name" HeaderText="Name" SortExpression="name" meta:resourcekey="BoundFieldResource2" /> 
         <asp:TemplateField HeaderText="Qualification" meta:resourcekey="TemplateFieldResource1"> 
          <ItemTemplate> 
           <asp:Label ID="lblQuali" runat="server" Text='<%# Eval("Q_Type") %>' meta:resourcekey="lblQualiResource1"></asp:Label> 
          </ItemTemplate> 
          <EditItemTemplate> 
           <asp:DropDownList ID="ddl" runat="server" DataSourceID="dsQualification" DataValueField="Q_Id" DataTextField="Q_Type" SelectedValue='<%# Bind("Q_Id") %>' meta:resourcekey="ddlResource1"></asp:DropDownList> 
          </EditItemTemplate> 
         </asp:TemplateField> 
         <asp:BoundField DataField="address" HeaderText="Address" SortExpression="address" meta:resourcekey="BoundFieldResource3" /> 
         <asp:CheckBoxField DataField="active" HeaderText="Active" SortExpression="active" meta:resourcekey="CheckBoxFieldResource1" /> 
        </Columns> 
        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" /> 
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" /> 
        <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" /> 
        <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Center" /> 
        <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" /> 
        <SortedAscendingCellStyle BackColor="#F4F4FD" /> 
        <SortedAscendingHeaderStyle BackColor="#5A4C9D" /> 
        <SortedDescendingCellStyle BackColor="#D8D8F0" /> 
        <SortedDescendingHeaderStyle BackColor="#3E3277" /> 
       </asp:GridView> 

Répondre

0

Vous pouvez définir/aligner HeaderStyle-Width ou ItemStyle-HorizontalAlign à vos tous les modèles de GridView.

<asp:BoundField HeaderStyle-Width="500px" ItemStyle-HorizontalAlign="Left" /> 

Ou vous pouvez le faire en dynamique RowDataBound événement comme:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    e.Row.Cells[0].Width = Unit.Pixel(100); 
    e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Left; 
} 
+1

Merci .Par fixer la largeur des en-têtes des colonnes mon problème est résolu. –