gpt4 book ai didi

Internet Explorer 中的 ASP.NET Gridview 水平对齐方式

转载 作者:技术小花猫 更新时间:2023-10-29 12:04:27 25 4
gpt4 key购买 nike

我正在尝试拥有一个统一的位置,我可以在其中编辑 gridview 列的行为和对齐方式。具体看标题行。我有某些包含文本值的列,这些列应该左对齐值和标题。其他列包含整数,值和标题都应右对齐。

“第一天”我认为一切都很好,Firefox/Chrome 准确地显示了它,然后用户来了,发现一切都错了(在他们的浏览器中)(中心对齐的标题)。

因此,我花了无数个小时“和失眠之夜;)”谷歌搜索,试图找到无济于事的解决方案。

如何唯一标识一个标题单元格左对齐和另一个标题单元格右对齐?

我找到了 HeaderStyle-CssClass 和 ItemStyle-CssClass(后者在这个特定案例中并不那么有趣)。

问题是每当我在 CSS 文件中定义对齐

.HeaderStyle th { text-align: <value>; }

它取代了可能存在的任何其他设置。请记住,文本项应左对齐,数字右对齐,包括标题。

在麻烦的地方加上一个HeaderStyle-CssClass是没有问题的,虽然这对以后的支持和维护来说会很麻烦。正确的解决方案是一个单一的位置来定义路线,因为它们应该分别按照设计。这可以用主题文件夹中的皮肤来完成吗?

用于演示目的

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridviewAlignments.aspx.cs"
Inherits="GridviewAlignments" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Testing GridView Alignment</title>
<style type="text/css">
.LeftAlign
{
text-align: Left;
}
.NoneAlign
{
text-align: none;
}
.RightAlign
{
text-align: Right;
}
.JustifyAlign
{
text-align: justify;
}
.InheritAlign
{
text-align: inherit;
}
.HeaderStyle th
{
text-align: justify;
}
</style>
</head>
<body>
<form runat="server">
<asp:GridView runat="server" ID="TestAlign" ShowFooter="True" DataSourceID="testDataSource"
Width="600" CssClass="HeaderStyle">
<Columns>
<asp:BoundField DataField="left" HeaderText="-left-"
HeaderStyle-CssClass="LeftAlign" />
<asp:BoundField DataField="none" HeaderText="-none-"
HeaderStyle-CssClass="InheritAlign" />
<asp:BoundField DataField="right" HeaderText="-right"
HeaderStyle-CssClass="RightAlign" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="testDataSource" runat="server" TypeName="TestData" SelectMethod="GetTestGridData"></asp:ObjectDataSource>
</form>
</body>
</html>

最佳答案

与其使用绑定(bind)到 的特定 CSS 类来为页眉提供默认样式,不如使用 GridView 的 HeaderStyle-CssClass 属性。

.HeaderStyle {
text-align: justify
}

<asp:GridView runat="server" ID="TestAlign" ShowFooter="True"
DataSourceID="testDataSource" Width="600"
HeaderStyle-CssClass="HeaderStyle">
<Columns>
<asp:BoundField DataField="left" HeaderText="-left-"
HeaderStyle-CssClass="LeftAlign" />
<asp:BoundField DataField="none" HeaderText="-none-"
HeaderStyle-CssClass="InheritAlign" />
<asp:BoundField DataField="right" HeaderText="-right"
HeaderStyle-CssClass="RightAlign" />
</Columns>
</asp:GridView>

关于Internet Explorer 中的 ASP.NET Gridview 水平对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1492778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com