最近在使用 CSS Control Adapter Toolkit Update 时发现
GridView中的Column Visible=false时仍然有显示 DetailsView仍然有该问题存在修改代码如下:
修改GridViewAdapter的WriteRows方法
| private void WriteRows(HtmlTextWriter writer, GridView gridView, GridViewRowCollection rows, string tableSection) |
| { |
| if (rows.Count > 0) |
| { |
| writer.WriteLine(); |
| writer.WriteBeginTag(tableSection); |
| writer.Write(HtmlTextWriter.TagRightChar); |
| writer.Indent++; |
| foreach (GridViewRow row in rows) |
| { |
| writer.WriteLine(); |
| writer.WriteBeginTag("tr"); |
| string className = GetRowClass(gridView, row); |
| if (className.Length > 0) |
| { |
| writer.WriteAttribute("class", className); |
| } |
| writer.Write(HtmlTextWriter.TagRightChar); |
| writer.Indent++; |
| //---------- Bolik Fixed for not Visible Columns |
| //foreach (TableCell cell in row.Cells) |
| //{ |
| // writer.WriteLine(); |
| // cell.RenderControl(writer); |
| //} |
| for (int i = 0; i < row.Cells.Count; i++) |
| { |
| if (gridView.Columns[i].Visible) |
| { |
| writer.WriteLine(); |
| row.Cells[i].RenderControl(writer); |
| } |
| } |
| //---------- Bolik Fixed for not Visible Columns |
| writer.Indent--; |
| writer.WriteLine(); |
| writer.WriteEndTag("tr"); |
| } |
| writer.Indent--; |
| writer.WriteLine(); |
| writer.WriteEndTag(tableSection); |
| } |
| } |