C# 在GridView上设置交替行样式+;c语言中的模板#

C# 在GridView上设置交替行样式+;c语言中的模板#,c#,templates,gridview,css,C#,Templates,Gridview,Css,我正在开发一个web应用程序。我需要将一些值数据绑定到gridview,我成功地做到了,但我有一些问题 基本上,所有的事情都发生在代码(c#)中,所以有一个直接页面,我在其中定义gridview等 代码如下: ResultTable searchResult=.... //Results gridSearchResults = new GridView(); gridSearchResults.Width = Unit.Percentage(10

我正在开发一个web应用程序。我需要将一些值数据绑定到gridview,我成功地做到了,但我有一些问题

基本上,所有的事情都发生在代码(c#)中,所以有一个直接页面,我在其中定义gridview等

代码如下:

        ResultTable searchResult=.... //Results

        gridSearchResults = new GridView();
        gridSearchResults.Width = Unit.Percentage(100.0);
        gridSearchResults.BorderWidth = 0;
        gridSearchResults.DataSource = resultsTable;
        gridSearchResults.DataBind();
结果表包含以下表格:优先级、标题、日期和链接

当我绑定所有内容时,我会得到一个很好的表,包含所有需要的数据,但所有内容都是文本,但在我的例子中,我希望标题作为链接,带有“来自结果表中列链接的链接”,是的,我还想重新格式化日期

我该怎么做呢

另一件事是如何设置行样式和交替行样式,属性似乎只有GET,那么如何设置呢


我再重复一遍,在类中,所有内容都应该是C语言。

要获得所需格式的数据,必须明确创建列:

gridSearchResults = new GridView { 
    AutoGenerateColumns=false,
    // other properties...
};
gridSearchResults.Columns.Add(new HyperLinkField {
    HeaderText = "MyLink",
    DataTextField = "MyField"
    // and so on
});
然后,
AlternatingRowStyle
是只读的,但您可以设置其各个属性:

gridSearchResults.AlternatingRowStyle.BackColor = System.Drawing.Color.Red;

可以为GridView定义列。在您的情况下,我觉得您需要一个类型为
HyperLinkField
的列。在该类中,可以指定属性
DataNavigateUrlFields
DataTextField
。DataTextField允许您从包含显示文本的数据源中指定字段的名称,在您的情况下,它听起来像是标题列。DataNavigateUrlFields允许您从用于填充URL的数据源中指定字段-在您的情况下,这听起来像是数据源中的“链接”列。我不确定你到底是怎么做的,但下面的代码片段向你展示了如何在GridView中添加超链接列。根据您提供的代码,看起来您没有手动定义要使用的列,但是如果您想要所需的行为,您可能必须手动定义所需的所有列

HyperLinkField titleLinkField=新的HyperLinkField();
titleLinkField.DataTextField=“Title”//提供超链接标题的列名
titleLinkField.DataNavigateUrlFields=“Link”//提供要使用的URL的列。
gridSearchResults.Columns.Add(标题链接字段);
就定义交替行样式而言,可以在该特性中设置特性。您可以单独设置每个属性,或者定义要使用的CSS类

gridSearchResults.AlternatingRowStyle.CssClass=“myAlternatingClass”;
gridSearchResults.RowStyle.CssClass=“myRegularClass”;
//或
gridSearchResults.AlternatingRowStyle.ForeColor=Drawing.Color.Blue;
gridSearchResults.RowStyle.ForeColor=Drawing.Color.Green;
编辑:保罗·特德斯科击败了我,他确实有一点我错过了。您确实需要在GridView上将AutoGenerateColumns指定为False


对于常规字段,您应该使用与上述基本相同的字段,但您可以使用BoundField,而不是HyperLinkField。

如果我想要普通字段而不是HyperLinkField,该怎么办?对于超链接字段,我如何从“链接”中获得值?你说的“正常”是什么意思?