ASP.NET Datagrid:如何设计样式?

时间:2009-06-13 18:08:43

标签: asp.net

任何人都可以告诉我如何为asp.net数据网格控件做样式。我有以下要求。我想知道这些样式类应用于哪些属性

1。标题行应在顶部和底部有边框。没有左右边框。 2。想要在标题行的每一列之间有一个行分隔符。对于Left和Right.Lt,它不需要打开 3.需要为每个列值应用不同的样式。如何提及不同列的各种类?

我正在寻找一个在所有具有相同效果的浏览器中呈现的分辨率

4 个答案:

答案 0 :(得分:2)

您可以在<asp:DataGrid>标记中添加如下所示的部分:

<HeaderStyle Font-Bold="True" HorizontalAlign="Center" VerticalAlign="Top" BackColor="SaddleBrown" ForeColor="Ivory" />

或者您可以在列模板中设置样式:

<asp:BoundColumn HeaderText="Account Number"
DataField="AccountNumber" ReadOnly="True"
HeaderStyle-Font-Bold="True" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Left"></asp:BoundColumn>

我认为第二种方法你会有更好的运气。我遇到了一些<HeaderStyle>标记样式在<asp:DataGrid>标记下只显示时未应用的问题。

如果你想将相同的样式传递给其他DataGrids,你可以创建一个外观,这样你就可以在任何地方使用相同的标题样式。

答案 1 :(得分:2)

在ASP.net DataGrids上查看4guysfromrolla.com article seriesPart 2讨论了DataGrids的样式。

答案 2 :(得分:1)

DataGrid和DataTable控件呈现表格。所以使用CSS:

table { ... }
thead { ... }
tbody { ... }
tfoot { ... }
tr { ... }
td { ... }
th { ... }

有很多目标要素。

...这里有一些代码可以帮助您入门:

/* target table-rows in the header element of a table and modify border-styles */
thead tr {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

答案 3 :(得分:-1)

使用网格的CssClass属性为表提供css类。要从前导元素和结束元素中获取不同的行为,还会将类应用于列标题和单元格。然后使用CSS来设置表格元素的样式。 IE:

ASPX:

<asp:DataGrid CssClass="grid" . . . .
<asp:BoundColumn HeaderClass = "first" ItemClass = "first" . . . .
(other columns)
<asp:BoundColumn HeaderClass = "last" ItemClass = "last" . . . 

CSS:

table.grid th { border: solid 1px black}
table.grid th.first {border-left: 0px}
table.grid th.last {border-right: 0px}

不需要使用ASP.NET样式,主要是因为你可以使用CSS获得更多的光滑而且没有膨胀的代码。