|
为了给表格的行添加样式,之前我们可是没少费工夫:
1. 首先在页面上放一个 HiddenField,用来保存需要添加样式的行
- <f:HiddenField ID="highlightRows" runat="server">
- </f:HiddenField>
复制代码
2. 在表格的行绑定事件中,将需要添加样式的行保存下来
- protected void Grid1_RowDataBound(object sender, FineUIPro.GridRowEventArgs e)
- {
- DataRowView row = e.DataItem as DataRowView;
- if (row != null)
- {
- int entranceYear = Convert.ToInt32(row["EntranceYear"]);
- if (entranceYear >= 2006)
- {
- highlightRows.Text += e.RowIndex.ToString() + ",";
- }
- }
- }
复制代码
3. 在表格的数据加载完成后,通过JavaScript代码来添加行样式- <f:Grid>
- <Listeners>
- <f:Listener Event="dataload" Handler="onGridDataLoad" />
- </Listeners>
- </f:Grid>
复制代码- <script type="text/javascript">
- var highlightRowsClientID = '<%= highlightRows.ClientID %>';
- var gridClientID = '<%= Grid1.ClientID %>';
- function onGridDataLoad() {
-
- var highlightRows = F(highlightRowsClientID);
- var grid = F(gridClientID);
- // 获取所有的行节点
- var allRows = grid.getRowEls();
- allRows.removeClass('highlight');
- $.each(highlightRows.getValue().split(','), function (index, item) {
- if (item) {
- allRows.eq(item).addClass('highlight');
- }
- });
- }
- </script>
复制代码
4. 最终效果:
====华丽的分隔线========================================
====华丽的分隔线========================================
====华丽的分隔线========================================
====华丽的分隔线========================================
====华丽的分隔线========================================
现在,和这么复杂的流程来个告别,新版FineUI(专业版)即将对行样式和单元格样式提供默认支持。
来看下新版的做法:
1. 在表格的行绑定事件中,为指定的行添加样式
- protected void Grid1_RowDataBound(object sender, FineUIPro.GridRowEventArgs e)
- {
- DataRowView row = e.DataItem as DataRowView;
- int entranceYear = Convert.ToInt32(row["EntranceYear"]);
- if (entranceYear >= 2006)
- {
- e.RowCssClass = "special";
- }
- }
复制代码
2. 搞定!效果和之前的一模一样!
是不是很方便?查看在线示例:http://fineui.com/demo_pro/#/demo_pro/grid/grid_rowcssclass.aspx
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|