Geo*_*Ego 11 css asp.net gridview
我在C#中创建一个SharePoint Web部件,其中一部分将GridView控件输出到页面.虽然我可以通过设置GridView本身的CSS类来对其显示方式进行相当广泛的控制,但我真正想要做的是能够为某些特定的td元素指定类.我不知道该怎么做,或者在GridView填充行时,或者在GridView添加到页面时完成.
在伪代码中,我基本上设想的是能够说出类似的东西gridView.Row[4].CssClass = "header"
,它会将GridView中第五行的td设置为类"header".
我已经研究过使用RowDataBound事件,所以我只是使用以下方法来测试它:
protected void outputGrid1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.CssClass = "outputHeader";
}
Run Code Online (Sandbox Code Playgroud)
这可能是我对如何正确使用它的误解,但它似乎没有做任何事情.我认为它会将所有行设置为类"header",如果有的话,我将从那里开始处理我的逻辑,但我甚至无法让它工作.感谢任何人都能提供的帮助!
Nij*_*Nij 19
我用RowDataBound做了类似的事情:
if (e.Row.RowType == DataControlRowType.DataRow)
{
// Check the XXXX column - if empty, the YYYY needs highlighting!
if (e.Row.Cells[6].Text == " ")
{
e.Row.CssClass = "highlightRow"; // ...so highlight it
}
}
Run Code Online (Sandbox Code Playgroud)
检查你正在做什么是正确的一种方法是通过浏览器监控你的html输出...像Firebug这样的东西确实有帮助.
这是一些示例CSS,我们将CssClass的'dataGrid'分配给Grid:
/* Used to highlight rows */
table.dataGrid tr.highlightRow td
{
background-color: #FF6666;
border-bottom: 1px solid #C0C0FF;
}
Run Code Online (Sandbox Code Playgroud)
更新:连接所有这些:我在aspx页面上使用自动连线.您的页面声明如下所示:
<%@ Page Language="C#" MasterPageFile="~/XXXXXX.master" AutoEventWireup="true" CodeBehind="YYYY.aspx.cs" Inherits="ZZZ.ZZZ.AAAAAA" Title="View Blah" %>
Run Code Online (Sandbox Code Playgroud)
页面上的此设置允许您使用UI连接事件.单击网格,选择属性,单击闪电图标,然后在RowDataBound事件下,选择您的方法.所有这些在幕后做的是向DataGridView添加一个属性,因此:
<asp:GridView ID="uiActionGridView" runat="server" AllowSorting="True" AutoGenerateColumns="False"
OnRowDataBound="uiActionGridView_RowDataBound" OnDataBound="uiActionGridView_DataBound">
Run Code Online (Sandbox Code Playgroud)
这就是我使用VS2005做的事情,它似乎都"正常工作".我能想到的唯一一件事是你在数据绑定发生后手动绑定事件.