0

我的 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;}

同样,字体大小和字体类型发生了变化,但仍未对齐。

请帮忙!

这是我的网格视图:

<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>
4

3 回答 3

4

如果将Horizo​​ntalAlign ="Center"添加到 EmptyDataRowStyle 标记会发生什么?另外,你真的用过皮肤吗?

于 2009-10-23T10:04:27.620 回答
0

您在 css 代码中的选择器应该是:

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

于 2013-08-02T17:55:01.837 回答
0

您所要做的就是添加到gridview aCssClass="myGrid并以您应该添加的“myGrid”样式添加margin: 0 auto,这将使空数据消息与中心对齐。

于 2015-09-25T23:29:20.340 回答