protected override void RenderChildren( HtmlTextWriter writer )
{
if ( this.Controls != null )
{
// wrap filter items in bootstrap responsive grid
int cellCount = 0;
const int cellsPerRow = 3;
// write first row
writer.AddAttribute("class", "row");
writer.RenderBeginTag( HtmlTextWriterTag.Div );
var filterControls = new List<Control>();
foreach ( Control child in Controls )
{
if ( child is PlaceHolder )
{
filterControls.AddRange( ( child as PlaceHolder ).Controls.OfType<Control>().ToList() );
}
else
{
filterControls.Add( child );
}
}
foreach ( Control child in filterControls )
{
// write new row
if ( cellCount >= cellsPerRow )
{
writer.RenderEndTag();
writer.AddAttribute( "class", "row" );
writer.RenderBeginTag( HtmlTextWriterTag.Div );
cellCount = 0;
}
if ( child != _lbFilter && child != _lbClearFilter && child != _hfVisible )
{
// add column
if ( child.Visible )
{
writer.AddAttribute( "class", "col-lg-4" );
writer.RenderBeginTag( HtmlTextWriterTag.Div );
}
child.RenderControl( writer );
if ( child.Visible )
{
writer.RenderEndTag();
cellCount++;
}
}
}
// write end row div
writer.RenderEndTag();
}
}