/// <summary>
        /// Invokes the <see cref="BocCustomColumnDefinitionCell.PreRender"/> method for each custom column.
        /// Used by postback-links which must be registered for synchronous postbacks.
        /// </summary>
        private void PreRenderCustomColumns()
        {
            var columns = EnsureColumnsGot();

            for (int index = 0; index < columns.Length; index++)
            {
                var column       = columns[index];
                var customColumn = column as BocCustomColumnDefinition;
                if (customColumn == null)
                {
                    continue;
                }
                var args = new BocCustomCellPreRenderArguments(this, customColumn, index);
                customColumn.CustomCell.PreRender(args);
            }
        }
 /// <summary> Override this method to prerender a custom column. </summary>
 /// <remarks> This method is called for each column during the <b>PreRender</b> phase of the <see cref="BocList"/>. </remarks>
 protected virtual void OnPreRender(BocCustomCellPreRenderArguments arguments)
 {
 }
 internal void PreRender(BocCustomCellPreRenderArguments arguments)
 {
     InitArguments(arguments);
     OnPreRender(arguments);
 }