如何为 Telerik RadGrid 中的列标题指定颜色
我在 asp .net 中创建了一个 telerik RadGrid。我的要求是为列标题提供我自己的颜色。我们怎样才能实现这一目标......?下面是我正在使用的代码结构。
<Telerik:RadGrid ID="RadGrid2" runat="server">
<MasterTableView Width="100%" DataKeyNames="CustomerID" AllowMultiColumnSorting="True">
<DetailTables>
<telerik:GridTableView DataKeyNames="OrderID" Name="Orders" Width="100%">
<DetailTables>
<telerik:GridTableView DataKeyNames="OrderID" Name="OrderDetails" Width="100%">
<Columns>
<telerik:GridBoundColumn SortExpression="UnitPrice" HeaderText="Unit Price" HeaderButtonType="TextButton" DataField="UnitPrice">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn SortExpression="Quantity" HeaderText="Quantity" HeaderButtonType="TextButton" DataField="Quantity">
</telerik:GridBoundColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridBoundColumn SortExpression="OrderID" HeaderText="OrderID" HeaderButtonType="TextButton" DataField="OrderID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn SortExpression="OrderDate" HeaderText="Date Ordered" HeaderButtonType="TextButton" DataField="OrderDate" UniqueName="OrderDate" DataFormatString="{0:D}">
</telerik:GridBoundColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridBoundColumn SortExpression="CustomerID" HeaderText="CustomerID" HeaderButtonType="TextButton" DataField="CustomerID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn SortExpression="ContactName" HeaderText="Contact Name" HeaderButtonType="TextButton" DataField="ContactName">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
它应该如下图所示:
I have created a telerik RadGrid in asp .net. My requirement is to give my own color to Column header. How can we achieve this...? Below is the code structure I'm using.
<Telerik:RadGrid ID="RadGrid2" runat="server">
<MasterTableView Width="100%" DataKeyNames="CustomerID" AllowMultiColumnSorting="True">
<DetailTables>
<telerik:GridTableView DataKeyNames="OrderID" Name="Orders" Width="100%">
<DetailTables>
<telerik:GridTableView DataKeyNames="OrderID" Name="OrderDetails" Width="100%">
<Columns>
<telerik:GridBoundColumn SortExpression="UnitPrice" HeaderText="Unit Price" HeaderButtonType="TextButton" DataField="UnitPrice">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn SortExpression="Quantity" HeaderText="Quantity" HeaderButtonType="TextButton" DataField="Quantity">
</telerik:GridBoundColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridBoundColumn SortExpression="OrderID" HeaderText="OrderID" HeaderButtonType="TextButton" DataField="OrderID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn SortExpression="OrderDate" HeaderText="Date Ordered" HeaderButtonType="TextButton" DataField="OrderDate" UniqueName="OrderDate" DataFormatString="{0:D}">
</telerik:GridBoundColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridBoundColumn SortExpression="CustomerID" HeaderText="CustomerID" HeaderButtonType="TextButton" DataField="CustomerID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn SortExpression="ContactName" HeaderText="Contact Name" HeaderButtonType="TextButton" DataField="ContactName">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
And it should looks like image below:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Telerik 自动为其网格使用皮肤。如果您没有指定皮肤,它将使用 Grid.Default 皮肤。您可以将此皮肤或任何皮肤修改为您自己的自定义样式。只需按照以下步骤操作即可。
Grid.Default.css (第 59 行)
添加指向您在网格所在页面(或母版页)上修改的 css 文件的链接。
将属性 EnableEmbeddedSkins="false" 添加到 RadGrid。
这将告诉页面使用修改后的 css 文件而不是嵌入的文件。Telerik 的网站有一篇名为 How To Override Styles in a RadControl for ASP.NET AJAX' Embedded Skin 详细解释如何覆盖现有样式。
Telerik automatically uses a skin for its grid. If you have not specified a skin it will use the Grid.Default skin. You can modify this skin or any of the skins to your own custom style. Just follow these steps.
Grid.Default.css (line 59)
Add a link to the css file that you modified on the page where you have your grid (or in the master page).
<link href="Grid.Default.css" rel="stylesheet" type="text/css" />
Add the property EnableEmbeddedSkins="false" to your RadGrid.
<telerik:RadGrid ID="RadGrid1" EnableEmbeddedSkins="false" runat="server">
This will tell the page to use your modified css file instead of the embedded one.Telerik's web site has a blog post called How To Override Styles in a RadControl for ASP.NET AJAX' Embedded Skin that explains in detail how to override an existing style.
我们又见面了!:
第 0 步:(通过编辑添加)导航到以下安装文件夹并将网格文件夹添加到您的项目中)
我设法生成的结果
第一步:创建一个样式表,我将其命名为 Grid.Default.css 并将其链接到 .aspx 页面中的 head 标记之间。
第 2 步:打开所述样式表并逐字粘贴此内容:
步骤3:转到网格并将 css 类设置为默认值并关闭嵌入式皮肤:
步骤 4:运行它。 (如果您想调整我使用的颜色,因为我试图使其尽可能接近屏幕截图中的颜色,请参见下文。)
注意:要更改颜色,请修改 css 类中的此声明:
We meet again!:
Step 0: (Added via edit) Navigate to the following install folder and add the grid folder to your project)
Results of what I managed to produce
Step 1: Create a stylesheet, I named mine Grid.Default.css and link it in your .aspx page between the head tags.
Step 2: Open said style sheet and paste this verbatim:
Step 3: Go to your grid and set your css class to default and turn off embedded skins:
Step 4: Run it. (If you wish to adjust the color I used, as I tried to get it as close as possible to the one in your screenshot, see below.)
NOTE: To change the color modify this declaration in the css class:
实现结果的一种非常简单的方法是使用...
和
>这是插入标签的代码...
A VERY EASY way to achieve your results is to use...
<ItemStyle BackColor="Red"/>
And
<AlternatingItemStyle BackColor="Red"/>
Here is your code with the tags inserted...
我遇到了同样的问题,即使在覆盖该类之后,标题颜色也没有改变。
我发现我的被覆盖的背景被网格重新覆盖了。我使用
!important
关键字不允许 Grid 重新覆盖我的类您可以对任何类执行相同的操作!
I had the same issue and even after overriding the class, the header color did not change.
I found that my overridden background was re-overridden by Grid. I used
!important
keyword not to allow Grid to re-override my classSame you can do for any class!