<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tag 'GridViewRow.Styles'</title><link>http://forums.asp.net/search/SearchResults.aspx?q=&amp;tag=GridViewRow.Styles&amp;orTags=0&amp;o=DateDescending</link><description>Search results matching tag 'GridViewRow.Styles'</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>GridView - adapter to render div for &amp;lt;table&amp;gt;, &amp;lt;tr&amp;gt; and &amp;lt;td&amp;gt;</title><link>http://forums.asp.net/thread/2059494.aspx</link><pubDate>Fri, 14 Dec 2007 05:00:00 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2059494</guid><dc:creator>Deepesh</dc:creator><description>&lt;p&gt;&amp;nbsp;Hello,&lt;/p&gt;&lt;p&gt;I want that my gridview should render &amp;lt;div&amp;gt; for all the elements like &amp;lt;table&amp;gt; ,&amp;lt;tr&amp;gt; and &amp;lt;td&amp;gt;&lt;/p&gt;&lt;p&gt;How this can be done?&lt;/p&gt;&lt;p&gt;Thanks,&lt;/p&gt;&lt;p&gt;Deepes Verma&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: CssSelectorClass not showing</title><link>http://forums.asp.net/thread/1537245.aspx</link><pubDate>Wed, 17 Jan 2007 05:00:00 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1537245</guid><dc:creator>mattchung</dc:creator><description>&lt;p&gt;I understand that CssSelectorClass is an expando property and thus is not a property that belongs to a WebControl such as GridView.&lt;br /&gt;&lt;br /&gt;In that case, is there any way to set CssSelectorClass value programmatically?&lt;br /&gt;As expected, GridView.CssSelectorClass = "..." doesn't work. &lt;br /&gt;I tried GridView.Attributes["class"] = "...", but this doens't work either.&lt;br /&gt;&lt;br /&gt;Is it possible to set this programmatically? Would inheriting from GridView class or the GridView's ControlAdapter class be helpful?&lt;br /&gt;&lt;br /&gt;Thanks very much.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>GridViewAdapter Beta 3.0 with added support for CssClass, ClientID, HeaderStyle-CssClass, row.CssClass, row.Attributes</title><link>http://forums.asp.net/thread/1457609.aspx</link><pubDate>Wed, 08 Nov 2006 05:00:00 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1457609</guid><dc:creator>adk</dc:creator><description>&lt;p&gt;Hi guys,&lt;/p&gt;
&lt;p&gt;While using the &amp;nbsp;Css Friendly Adapter for the GridView, I've run into several properties that are not being rendered.&lt;/p&gt;
&lt;p&gt;Over time,&amp;nbsp;I've implemented support for several of those properties, as I needed to use them.&lt;/p&gt;
&lt;p&gt;These range from declarative properties like &lt;/p&gt;&lt;pre class=coloredcode&gt;&lt;/pre&gt;&amp;nbsp;&amp;lt;asp:GridView&amp;gt;: CssClass,&amp;nbsp; ID 
&lt;p&gt;&amp;lt;asp:TemplateField/BoundField...&amp;gt; : &amp;nbsp;HeaderStyle-CssClass&lt;/p&gt;
&lt;p&gt;&amp;nbsp;to programmatically exposed properties like &lt;/p&gt;
&lt;p&gt;GridViewRow.CssClass &lt;/p&gt;
&lt;p&gt;GridViewRow.Attributes, GridViewRow.Styles&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The code below is the GridViewAdapter.cs (beta 3.0) class with added support for the above-mentioned properties. (sorry, could not attach the file)&lt;/p&gt;
&lt;p&gt;(The added code sections are preceeded by a comment starting with //ADK.)&lt;/p&gt;&lt;pre class=coloredcode&gt;&lt;span class=kwd&gt;using&lt;/span&gt; System;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Data;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Collections;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Configuration;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Web;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Web.Security;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Web.UI;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Web.UI.WebControls;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Web.UI.WebControls.WebParts;
&lt;span class=kwd&gt;using&lt;/span&gt; System.Web.UI.HtmlControls;

&lt;span class=kwd&gt;namespace&lt;/span&gt; CSSFriendly
{
    &lt;span class=kwd&gt;public class&lt;/span&gt; GridViewAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
    {
        &lt;span class=kwd&gt;private&lt;/span&gt; WebControlAdapterExtender _extender = &lt;span class=kwd&gt;null&lt;/span&gt;;
        &lt;span class=kwd&gt;private&lt;/span&gt; WebControlAdapterExtender Extender
        {
            &lt;span class=kwd&gt;get&lt;/span&gt;
            {
                &lt;span class=kwd&gt;if&lt;/span&gt; (((_extender == &lt;span class=kwd&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (Control != &lt;span class=kwd&gt;null&lt;/span&gt;)) ||
                    ((_extender != &lt;span class=kwd&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (Control != _extender.AdaptedControl)))
                {
                    _extender = &lt;span class=kwd&gt;new&lt;/span&gt; WebControlAdapterExtender(Control);
                }

                System.Diagnostics.Debug.Assert(_extender != &lt;span class=kwd&gt;null&lt;/span&gt;, &lt;span class=st&gt;"CSS Friendly adapters internal error"&lt;/span&gt;, &lt;span class=st&gt;"Null extender instance"&lt;/span&gt;);
                &lt;span class=kwd&gt;return&lt;/span&gt; _extender;
            }
        }

        &lt;span class=cmt&gt;/// ///////////////////////////////////////////////////////////////////////////////
        /// PROTECTED        &lt;/span&gt;
        
        &lt;span class=kwd&gt;protected override void&lt;/span&gt; OnInit(EventArgs e)
        {
            &lt;span class=kwd&gt;base&lt;/span&gt;.OnInit(e);

            &lt;span class=kwd&gt;if&lt;/span&gt; (Extender.AdapterEnabled)
            {
                RegisterScripts();
            }
        }

        &lt;span class=kwd&gt;protected override void&lt;/span&gt; RenderBeginTag(HtmlTextWriter writer)
        {
            &lt;span class=kwd&gt;if&lt;/span&gt; (Extender.AdapterEnabled)
            {
                Extender.RenderBeginTag(writer, &lt;span class=st&gt;"AspNet-GridView"&lt;/span&gt;);
            }
            &lt;span class=kwd&gt;else&lt;/span&gt;
            {
                &lt;span class=kwd&gt;base&lt;/span&gt;.RenderBeginTag(writer);
            }
        }

        &lt;span class=kwd&gt;protected override void&lt;/span&gt; RenderEndTag(HtmlTextWriter writer)
        {
            &lt;span class=kwd&gt;if&lt;/span&gt; (Extender.AdapterEnabled)
            {
                Extender.RenderEndTag(writer);
            }
            &lt;span class=kwd&gt;else&lt;/span&gt;
            {
                &lt;span class=kwd&gt;base&lt;/span&gt;.RenderEndTag(writer);
            }
        }

        &lt;span class=kwd&gt;protected override void&lt;/span&gt; RenderContents(HtmlTextWriter writer)
        {
            &lt;span class=kwd&gt;if&lt;/span&gt; (Extender.AdapterEnabled)
            {
                GridView gridView = Control &lt;span class=kwd&gt;as&lt;/span&gt; GridView;
                &lt;span class=kwd&gt;if&lt;/span&gt; (gridView != &lt;span class=kwd&gt;null&lt;/span&gt;)
                {
                    writer.Indent++;
                    WritePagerSection(writer, PagerPosition.Top);

                    writer.WriteLine();
                    writer.WriteBeginTag(&lt;span class=st&gt;"table"&lt;/span&gt;);
					
					&lt;span class=cmt&gt;//ADK: added CssClass and ClientID support&lt;/span&gt;
					writer.WriteAttribute(&lt;span class=st&gt;"class"&lt;/span&gt;, Control.CssClass);
					writer.WriteAttribute(&lt;span class=st&gt;"id"&lt;/span&gt;, Control.ClientID);

                    writer.WriteAttribute(&lt;span class=st&gt;"cellpadding"&lt;/span&gt;, &lt;span class=st&gt;"0"&lt;/span&gt;);
                    writer.WriteAttribute(&lt;span class=st&gt;"cellspacing"&lt;/span&gt;, &lt;span class=st&gt;"0"&lt;/span&gt;);
                    writer.WriteAttribute(&lt;span class=st&gt;"summary"&lt;/span&gt;, Control.ToolTip);
                    writer.Write(HtmlTextWriter.TagRightChar);
                    writer.Indent++;

                    ArrayList rows = &lt;span class=kwd&gt;new&lt;/span&gt; ArrayList();
                    GridViewRowCollection gvrc = &lt;span class=kwd&gt;null&lt;/span&gt;;

                    &lt;span class=cmt&gt;///////////////////// HEAD /////////////////////////////&lt;/span&gt;

                    rows.Clear();
                    &lt;span class=kwd&gt;if&lt;/span&gt; (gridView.ShowHeader &amp;amp;&amp;amp; (gridView.HeaderRow != &lt;span class=kwd&gt;null&lt;/span&gt;))
                    {
						&lt;span class=cmt&gt;//ADK: added support for HeaderStyle-CssClass (&amp;lt;TemplateField&amp;gt;, &amp;lt;BoundField&amp;gt;...)&lt;/span&gt;
						&lt;span class=kwd&gt;int&lt;/span&gt; i = 0;
						&lt;span class=kwd&gt;foreach&lt;/span&gt; (DataControlField col &lt;span class=kwd&gt;in&lt;/span&gt; gridView.Columns)
						{
							&lt;span class=kwd&gt;if&lt;/span&gt; (col.HeaderStyle.CssClass != &lt;span class=kwd&gt;null&lt;/span&gt;)
							{
								gridView.HeaderRow.Cells[i].CssClass = col.HeaderStyle.CssClass;
							}
							i++;
						}

                        rows.Add(gridView.HeaderRow);
                    }
                    gvrc = &lt;span class=kwd&gt;new&lt;/span&gt; GridViewRowCollection(rows);
                    WriteRows(writer, gridView, gvrc, &lt;span class=st&gt;"thead"&lt;/span&gt;);

                    &lt;span class=cmt&gt;///////////////////// FOOT /////////////////////////////&lt;/span&gt;

                    rows.Clear();
                    &lt;span class=kwd&gt;if&lt;/span&gt; (gridView.ShowFooter &amp;amp;&amp;amp; (gridView.FooterRow != &lt;span class=kwd&gt;null&lt;/span&gt;))
                    {
                        rows.Add(gridView.FooterRow);
                    }
                    gvrc = &lt;span class=kwd&gt;new&lt;/span&gt; GridViewRowCollection(rows);
                    WriteRows(writer, gridView, gvrc, &lt;span class=st&gt;"tfoot"&lt;/span&gt;);

                    &lt;span class=cmt&gt;///////////////////// BODY /////////////////////////////&lt;/span&gt;

                    WriteRows(writer, gridView, gridView.Rows, &lt;span class=st&gt;"tbody"&lt;/span&gt;);

                    &lt;span class=cmt&gt;////////////////////////////////////////////////////////&lt;/span&gt;

                    writer.Indent--;
                    writer.WriteLine();
                    writer.WriteEndTag(&lt;span class=st&gt;"table"&lt;/span&gt;);

                    WritePagerSection(writer, PagerPosition.Bottom);

                    writer.Indent--;
                    writer.WriteLine();
                }
            }
            &lt;span class=kwd&gt;else&lt;/span&gt;
            {
                &lt;span class=kwd&gt;base&lt;/span&gt;.RenderContents(writer);
            }
        }

        &lt;span class=cmt&gt;/// ///////////////////////////////////////////////////////////////////////////////
        /// PRIVATE        &lt;/span&gt;

        &lt;span class=kwd&gt;private void&lt;/span&gt; RegisterScripts()
        {
        }

        &lt;span class=kwd&gt;private void&lt;/span&gt; WriteRows(HtmlTextWriter writer, GridView gridView, GridViewRowCollection rows, &lt;span class=kwd&gt;string&lt;/span&gt; tableSection)
        {
            &lt;span class=kwd&gt;if&lt;/span&gt; (rows.Count &amp;gt; 0)
            {
                writer.WriteLine();
                writer.WriteBeginTag(tableSection);
                writer.Write(HtmlTextWriter.TagRightChar);
                writer.Indent++;

                &lt;span class=kwd&gt;foreach&lt;/span&gt; (GridViewRow row &lt;span class=kwd&gt;in&lt;/span&gt; rows)
                {
                    writer.WriteLine();
                    writer.WriteBeginTag(&lt;span class=st&gt;"tr"&lt;/span&gt;);

                    &lt;span class=kwd&gt;string&lt;/span&gt; className = GetRowClass(gridView, row);
					&lt;span class=cmt&gt;//ADK: added support for row.CssClass 
					//(e.g. when programmatically setting e.Row.CssClass inside the rowdatabound event)&lt;/span&gt;
					&lt;span class=kwd&gt;if&lt;/span&gt; (row.CssClass != &lt;span class=kwd&gt;null&lt;/span&gt; &amp;amp;&amp;amp; !row.CssClass.Equals(&lt;span class=kwd&gt;string&lt;/span&gt;.Empty))
					{
						&lt;span class=kwd&gt;if&lt;/span&gt; (!String.IsNullOrEmpty(className))
							className += &lt;span class=st&gt;" "&lt;/span&gt;;
						className += row.CssClass;
					}

                    &lt;span class=kwd&gt;if&lt;/span&gt; (!String.IsNullOrEmpty(className))
                    {
                        writer.WriteAttribute(&lt;span class=st&gt;"class"&lt;/span&gt;, className);
                    }
					&lt;span class=cmt&gt;//ADK: added support for row.attributes
					//(e.g. when doing e.Row.Attributes.Add inside the rowdatabound event)

					//this covers row.Styles as well, as they will appear in the attributes collection 
					//as a single style attribute&lt;/span&gt;
					&lt;span class=kwd&gt;if&lt;/span&gt; (row.Attributes.Count &amp;gt; 0)
					{
						&lt;span class=kwd&gt;foreach&lt;/span&gt; (&lt;span class=kwd&gt;string&lt;/span&gt; key &lt;span class=kwd&gt;in&lt;/span&gt; row.Attributes.Keys)
						{
							writer.WriteAttribute(key, row.Attributes[key]);
						}
					}

                    writer.Write(HtmlTextWriter.TagRightChar);
                    writer.Indent++;

                    &lt;span class=kwd&gt;foreach&lt;/span&gt; (TableCell cell &lt;span class=kwd&gt;in&lt;/span&gt; row.Cells)
                    {
                        DataControlFieldCell fieldCell = cell &lt;span class=kwd&gt;as&lt;/span&gt; DataControlFieldCell;
                        &lt;span class=kwd&gt;if&lt;/span&gt; ((fieldCell != &lt;span class=kwd&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (fieldCell.ContainingField != &lt;span class=kwd&gt;null&lt;/span&gt;))
                        {
                            DataControlField field = fieldCell.ContainingField;
                            &lt;span class=kwd&gt;if&lt;/span&gt; (!field.Visible)
                            {
                                cell.Visible = &lt;span class=kwd&gt;false&lt;/span&gt;;
                            }

                            &lt;span class=kwd&gt;if&lt;/span&gt; ((field.ItemStyle != &lt;span class=kwd&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (!String.IsNullOrEmpty(field.ItemStyle.CssClass)))
                            {
                                &lt;span class=kwd&gt;if&lt;/span&gt; (!String.IsNullOrEmpty(cell.CssClass))
                                {
                                    cell.CssClass += &lt;span class=st&gt;" "&lt;/span&gt;;
                                }
                                cell.CssClass += field.ItemStyle.CssClass;
                            }
                        }
                        
                        writer.WriteLine();
                        cell.RenderControl(writer);
                    }

                    writer.Indent--;
                    writer.WriteLine();
                    writer.WriteEndTag(&lt;span class=st&gt;"tr"&lt;/span&gt;);
                }
                
                writer.Indent--;
                writer.WriteLine();
                writer.WriteEndTag(tableSection);
            }
        }

        &lt;span class=kwd&gt;private string&lt;/span&gt; GetRowClass(GridView gridView, GridViewRow row)
        {
            &lt;span class=kwd&gt;string&lt;/span&gt; className = &lt;span class=st&gt;""&lt;/span&gt;;

            &lt;span class=kwd&gt;if&lt;/span&gt; ((row.RowState &amp;amp; DataControlRowState.Alternate) == DataControlRowState.Alternate)
            {
                className += &lt;span class=st&gt;" AspNet-GridView-Alternate "&lt;/span&gt;;
                &lt;span class=kwd&gt;if&lt;/span&gt; (gridView.AlternatingRowStyle != &lt;span class=kwd&gt;null&lt;/span&gt;)
                {
                    className += gridView.AlternatingRowStyle.CssClass;
                }
            }

            &lt;span class=kwd&gt;if&lt;/span&gt; ((row.RowState &amp;amp; DataControlRowState.Edit) == DataControlRowState.Edit)
            {
                className += &lt;span class=st&gt;" AspNet-GridView-Edit "&lt;/span&gt;;
                &lt;span class=kwd&gt;if&lt;/span&gt; (gridView.EditRowStyle != &lt;span class=kwd&gt;null&lt;/span&gt;)
                {
                    className += gridView.EditRowStyle.CssClass;
                }
            }

            &lt;span class=kwd&gt;if&lt;/span&gt; ((row.RowState &amp;amp; DataControlRowState.Insert) == DataControlRowState.Insert)
            {
                className += &lt;span class=st&gt;" AspNet-GridView-Insert "&lt;/span&gt;;
            }

            &lt;span class=kwd&gt;if&lt;/span&gt; ((row.RowState &amp;amp; DataControlRowState.Selected) == DataControlRowState.Selected)
            {
                className += &lt;span class=st&gt;" AspNet-GridView-Selected "&lt;/span&gt;;
                &lt;span class=kwd&gt;if&lt;/span&gt; (gridView.SelectedRowStyle != &lt;span class=kwd&gt;null&lt;/span&gt;)
                {
                    className += gridView.SelectedRowStyle.CssClass;
                }
            }

            &lt;span class=kwd&gt;return&lt;/span&gt; className.Trim();
        }

        &lt;span class=kwd&gt;private void&lt;/span&gt; WritePagerSection(HtmlTextWriter writer, PagerPosition pos)
        {
            GridView gridView = Control &lt;span class=kwd&gt;as&lt;/span&gt; GridView;
            &lt;span class=kwd&gt;if&lt;/span&gt; ((gridView != &lt;span class=kwd&gt;null&lt;/span&gt;) &amp;amp;&amp;amp;
                gridView.AllowPaging &amp;amp;&amp;amp;
                ((gridView.PagerSettings.Position == pos) || (gridView.PagerSettings.Position == PagerPosition.TopAndBottom)))
            {
                Table innerTable = &lt;span class=kwd&gt;null&lt;/span&gt;;
                &lt;span class=kwd&gt;if&lt;/span&gt; ((pos == PagerPosition.Top) &amp;amp;&amp;amp;
                    (gridView.TopPagerRow != &lt;span class=kwd&gt;null&lt;/span&gt;) &amp;amp;&amp;amp;
                    (gridView.TopPagerRow.Cells.Count == 1) &amp;amp;&amp;amp;
                    (gridView.TopPagerRow.Cells[0].Controls.Count == 1) &amp;amp;&amp;amp;
                    &lt;span class=kwd&gt;typeof&lt;/span&gt;(Table).IsAssignableFrom(gridView.TopPagerRow.Cells[0].Controls[0].GetType()))
                {
                    innerTable = gridView.TopPagerRow.Cells[0].Controls[0] &lt;span class=kwd&gt;as&lt;/span&gt; Table;
                }
                &lt;span class=kwd&gt;else if&lt;/span&gt; ((pos == PagerPosition.Bottom) &amp;amp;&amp;amp;
                    (gridView.BottomPagerRow != &lt;span class=kwd&gt;null&lt;/span&gt;) &amp;amp;&amp;amp;
                    (gridView.BottomPagerRow.Cells.Count == 1) &amp;amp;&amp;amp;
                    (gridView.BottomPagerRow.Cells[0].Controls.Count == 1) &amp;amp;&amp;amp;
                    &lt;span class=kwd&gt;typeof&lt;/span&gt;(Table).IsAssignableFrom(gridView.BottomPagerRow.Cells[0].Controls[0].GetType()))
                {
                    innerTable = gridView.BottomPagerRow.Cells[0].Controls[0] &lt;span class=kwd&gt;as&lt;/span&gt; Table;
                }

                &lt;span class=kwd&gt;if&lt;/span&gt; ((innerTable != &lt;span class=kwd&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (innerTable.Rows.Count == 1))
                {
                    &lt;span class=kwd&gt;string&lt;/span&gt; className = &lt;span class=st&gt;"AspNet-GridView-Pagination AspNet-GridView-"&lt;/span&gt;;
                    className += (pos == PagerPosition.Top) ? &lt;span class=st&gt;"Top "&lt;/span&gt; : &lt;span class=st&gt;"Bottom "&lt;/span&gt;;
                    &lt;span class=kwd&gt;if&lt;/span&gt; (gridView.PagerStyle != &lt;span class=kwd&gt;null&lt;/span&gt;)
                    {
                        className += gridView.PagerStyle.CssClass;
                    }
                    className = className.Trim();

                    writer.WriteLine();
                    writer.WriteBeginTag(&lt;span class=st&gt;"div"&lt;/span&gt;);
                    writer.WriteAttribute(&lt;span class=st&gt;"class"&lt;/span&gt;, className);
                    writer.Write(HtmlTextWriter.TagRightChar);
                    writer.Indent++;

                    TableRow row = innerTable.Rows[0];
                    &lt;span class=kwd&gt;foreach&lt;/span&gt; (TableCell cell &lt;span class=kwd&gt;in&lt;/span&gt; row.Cells)
                    {
                        &lt;span class=kwd&gt;foreach&lt;/span&gt; (Control ctrl &lt;span class=kwd&gt;in&lt;/span&gt; cell.Controls)
                        {
                            writer.WriteLine();
                            ctrl.RenderControl(writer);
                        }
                    }

                    writer.Indent--;
                    writer.WriteLine();
                    writer.WriteEndTag(&lt;span class=st&gt;"div"&lt;/span&gt;);
                }
            }
        }
    }
}
&lt;/pre&gt;&amp;nbsp; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>