2013-01-31 10 views
6

Używam siatki danych ASP Wiążę pole danych, nagłówek tekstu dynamicznie poprzez kod za (C#).HorizontalAlign.Center nie działa w GridView

Ustawiam również styl kolumny dynamicznie wszystkie działają poprawnie, ale jedna z kolumn Horizontal-align.Center nie działa.

Sprawdziłem jeśli styl jest uzyskiwanie nadpisane, ale to nie jest ...

Ten blok kodu dając problem:

 BoundField field4 = new BoundField(); 
     field4.DataField = dtdata.Tables[0].Columns["data"].ToString(); 
     field4.HeaderText = "Percentage%"; 
     field4.DataFormatString = "{0:N1}%"; 
     field4.SortExpression = "data"; 
     field4.ItemStyle.HorizontalAlign = HorizontalAlign.Center; 
     grdMarginGrid.Columns.Add(field4); 

może ktoś mi pomóc w rozpoznawaniu, gdzie problemem jest ..

Z góry dziękuję, Divya.

Odpowiedz

15

Myślę, że Twoje inne style nadpisują Twoje nowe style.

można zrobić coś takiego

spróbuj dodać klasę CSS do swojego gridview z kodu aspx i przypisać następujące style do klasy.

<asp:GridView CssClass="grid" runat="server"> 
    <!-- your options --> 
</asp:GridView> 

.grid td, .grid th{ 
    text-align:center; 
} 

Możesz dodać klasę CSS od kod związany także .. MSDN LINK

Spowoduje to ustawienie cały tekst kolumny do centrum w swojej GridView

4

Daj ItemStyle-HorizontalAlign = "center" dla każdego pole jak powiązane pole lub Templatefield.

Kod:

<asp:TemplateField HeaderText="Something" ItemStyle-HorizontalAlign="Center" > 

or 

<asp:BoundField DataField="" HeaderText="" ItemStyle-HorizontalAlign="Center"> 
+0

Perfect! Zaoszczędził mi sporo kodu po stronie serwera :) Po prostu zapamiętaj, że ma być umieszczony jak wyżej; Próbowałem umieścić go w tagu ItemTemplate i otrzymałem błędy ... –