示例#1
0
        private void RenderColumnHeader(GridRendererContext rendererContext, PropertyInfo property)
        {
            var columnConfiguration = rendererContext.ActualColumnConfiguration;

            rendererContext.OpenElement(HtmlTagNames.TableHeadCell, rendererContext.CssClasses.TableHeaderCell, GetColumnStyle(columnConfiguration));
            rendererContext.OpenElement(HtmlTagNames.Div);
            rendererContext.AddAttribute(HtmlAttributes.Style, "position: relative;");

            if (columnConfiguration == null)
            {
                rendererContext.AddContent(GetColumnCaption(columnConfiguration, property));
                rendererContext.CloseElement();
                rendererContext.CloseElement();

                return;
            }

            if (columnConfiguration.IsSortable)
            {
                RenderSortableColumnHeader(rendererContext, property, columnConfiguration);
            }
            else
            {
                rendererContext.AddContent(GetColumnCaption(columnConfiguration, property));
            }

            if (columnConfiguration.IsFilterable)
            {
                rendererContext.AddFilterComponent(property);
            }

            rendererContext.CloseElement();
            rendererContext.CloseElement();
        }