Gridview - 对齐标签'EmptyDataText'&所以它不是页面的默认值

时间:2009-10-23 09:00:26

标签: gridview alignment emptydatatext text-align

我的c#程序中有一个gridview控件。基本上有人输入了一个电子邮件地址,然后数据显示在gridview中,但是如果找不到包含电子邮件地址的数据,则会使用EmptyDataText =“no data available”标签显示一条消息,但我似乎无法设置文本的样式'没有可用的数据'因此它出现在页面的中心而不是默认的左侧。虽然CSS确实有效,但我可以更改字体大小和类型,但不能更改text-align:center。

我尝试了很多不同的选择:

<EmptyDataRowStyle Font-Size="12px" text-align="center" />

问题是text-align:center不是有效属性。

另一种选择是:

<EmptyDataRowStyle cssclass="mycentertext" />

然后我链接到我的style.css文件并放入:

.mycentertext {text-align: center;font-size: 12px;font-family: Verdana;}

同样,字体大小会改变,但字体类型仍然没有对齐。

请帮忙!

这是我的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>

3 个答案:

答案 0 :(得分:2)

如果您将 Horizo​​ntalAlign =“Center”添加到EmptyDataRowStyle标记会怎样?另外,你在使用皮肤吗?

答案 1 :(得分:0)

css代码中的选择器应为:

tr.mycentertext td {text-align:center; font-size:12px; font-family:Verdana; }

答案 2 :(得分:0)

您只需要在gridview中添加CssClass="myGrid,然后在“myGrid”样式中添加margin: 0 auto,这样就会将空数据消息与中心对齐。