Gridview: allinea al centro il tag "EmptyDataText" & amp; quindi non è di default a sinistra della pagina
-
05-07-2019 - |
Domanda
Ho un controllo gridview nel mio programma c #. Fondamentalmente qualcuno inserisce un indirizzo e-mail e i dati vengono quindi mostrati nella vista griglia ma se non è possibile trovare dati con l'indirizzo e-mail, viene visualizzato un messaggio utilizzando EmptyDataText = " nessun dato disponibile " tag ma non riesco a dare uno stile al testo "nessun dato disponibile", quindi appare al centro della pagina piuttosto che a sinistra. Anche se il CSS sembra funzionare poiché posso cambiare la dimensione e il tipo di carattere ma non text-align: center.
Ho provato diverse opzioni:
<EmptyDataRowStyle Font-Size="12px" text-align="center" />
Il problema è il text-align: center non è un attributo valido.
Un'altra opzione era:
<EmptyDataRowStyle cssclass="mycentertext" />
E poi collego al mio file style.css e lo inserisco in questo:
.mycentertext {text-align: center;font-size: 12px;font-family: Verdana;}
Ancora una volta, la dimensione del carattere cambia e il tipo di carattere, ma non è ancora allineato.
Per favore aiutate!
Questa è la mia griglia:
<asp:GridView ID="GridView1" Visible="false" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
DataSourceID="SqlDataSource" EmptyDataText="No data could be found for the email address" CellSpacing="3" CellPadding="4"
GridLines="None" ForeColor="#333333">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
SortExpression="ID">
<ItemStyle Font-Names="Verdana" Font-Size="9pt" />
<HeaderStyle Font-Names="Verdana" Font-Size="10pt" />
</asp:BoundField>
<asp:BoundField DataField="name" HeaderText="Name" SortExpression="name">
<ItemStyle Font-Names="Verdana" Font-Size="9pt" />
<HeaderStyle Font-Names="Verdana" Font-Size="10pt" />
</asp:BoundField>
<asp:BoundField DataField="EmailAddress" HeaderText="Email Address" SortExpression="EmailAddress">
<ItemStyle Font-Names="Verdana" Font-Size="9pt" />
<HeaderStyle Font-Names="Verdana" Font-Size="10pt" />
</asp:BoundField>
<asp:BoundField DataField="Address1" HeaderText="Address1" SortExpression="Address1">
<ItemStyle Font-Names="Verdana" Font-Size="9pt" />
<HeaderStyle Font-Names="Verdana" Font-Size="10pt" />
</asp:BoundField>
<asp:BoundField DataField="Address2" HeaderText="Address2" SortExpression="Address2">
<ItemStyle Font-Names="Verdana" Font-Size="9pt" />
<HeaderStyle Font-Names="Verdana" Font-Size="10pt" />
</asp:BoundField>
<asp:BoundField DataField="city" HeaderText="City" SortExpression="city">
<ItemStyle Font-Names="Verdana" Font-Size="9pt" />
<HeaderStyle Font-Names="Verdana" Font-Size="10pt" />
</asp:BoundField>
</Columns>
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<EditRowStyle BackColor="#999999" />
<EmptyDataRowStyle cssclass="mycentertext" />
</asp:GridView>
Soluzione
Cosa succede se aggiungi HorizontalAlign = " Center " al tag EmptyDataRowStyle? Inoltre, stai usando le skin?
Altri suggerimenti
Il selettore nel codice CSS dovrebbe essere:
tr.mycentertext td {text-align: center; dimensione carattere: 12px; famiglia carattere: Verdana; }
Tutto quello che devi fare è aggiungere a gridview un CssClass = " myGrid
e in quello " myGrid " stile dovresti aggiungere margin: 0 auto
e questo allineerà il messaggio emptydata al centro.