Gridview - Centro de alinhar a tag 'EmptyDataText' e por isso não é padrão da esquerda da página
-
05-07-2019 - |
Pergunta
Eu tenho um controle gridview no meu programa c #. Basicamente alguém entra um endereço de email e os dados são, em seguida, mostrado na gridview, mas se há dados poderia ser encontrado com o endereço de e-mail, uma mensagem é exibida usando o EmptyDataText = "dados não disponíveis" tag mas eu não consigo estilo do texto ' dados não disponíveis' para que ele aparece no centro da página em vez do padrão esquerda. Embora a CSS parece estar trabalhando como posso alterar o tamanho da fonte e tipo, mas não text-align:. Centro
Eu tentei um número de opções diferentes:
<EmptyDataRowStyle Font-Size="12px" text-align="center" />
O problema é o text-align:. Centro não é um atributo válido
Outra opção foi:
<EmptyDataRowStyle cssclass="mycentertext" />
E então eu ligar para o meu arquivo style.css e coloque em que:
.mycentertext {text-align: center;font-size: 12px;font-family: Verdana;}
Mais uma vez, as alterações tamanho da fonte e o tipo de fonte, mas ainda não alinhados.
Por favor, ajuda!
Este é o meu gridview:
<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>
Solução
O que acontece se você adicionar HorizontalAlign = "Center" para o tag EmptyDataRowStyle? Além disso, você está usando peles em tudo?
Outras dicas
Seu selector no código css deve ser:
tr.mycentertext td {text-align: center; font-size: 12px; font-family: Verdana; }
Tudo que você tem a fazer é adicionar à gridview um CssClass="myGrid
e nesse estilo "myGrid" você deve adicionar margin: 0 auto
e que irá alinhar a mensagem emptydata para o centro.