//
        /// <summary>
        ///  重新设置动态GridLayoutInfo 的信息。
        /// </summary>
        /// <param name="convertObject"></param>
        /// <param name="gridViewLayoutInfo"></param>
        /// <returns></returns>
        public GridViewLayoutInfo ResetDynamicColumnViewLayout(MB.WinBase.Data.HViewDataConvert <T> convertObject, GridViewLayoutInfo gridViewLayoutInfo)
        {
            List <GridColumnLayoutInfo> settingBands = new List <GridColumnLayoutInfo>();

            getDynamicBandSettings(gridViewLayoutInfo.GridLayoutColumns, ref settingBands);
            //GridColumnLayoutInfo settingBand = getDynamicBandSetting(gridViewLayoutInfo.GridLayoutColumns);

            foreach (GridColumnLayoutInfo settingBand in settingBands)
            {
                if (settingBand == null || settingBand.Childs.Count == 0)
                {
                    continue;
                }
                var dynamicColumns = convertObject.DynamicColumns;
                int index          = 0;
                GridColumnLayoutInfo settingClone = settingBand.Childs[0].Clone() as GridColumnLayoutInfo;
                settingBand.Childs.Clear();
                for (int colIndex = 0; colIndex < dynamicColumns.Count; colIndex++)
                {
                    MB.WinBase.Data.DynamicColumnInfo colInfo = dynamicColumns[colIndex];
                    GridColumnLayoutInfo dynamicCol           = (GridColumnLayoutInfo)settingClone.CloneWithoutChilds();
                    settingBand.Childs.Add(dynamicCol);
                    if (string.Compare(dynamicCol.Type, XtraGridViewHelper.BAND_TYPE_NAME, true) == 0)
                    {
                        dynamicCol.Childs = new List <GridColumnLayoutInfo>();
                        foreach (GridColumnLayoutInfo child in settingClone.Childs)
                        {
                            GridColumnLayoutInfo childColumn = child.CloneWithoutChilds();
                            childColumn.Name = MB.WinBase.Data.HViewDataConvert.CreateDynamicColumnFieldName(childColumn.Name, colIndex);
                            dynamicCol.Childs.Add(childColumn);
                        }
                    }
                    else
                    {
                        dynamicCol.Name = MB.WinBase.Data.HViewDataConvert.CreateDynamicColumnFieldName(dynamicCol.Name, colIndex);
                    }
                    dynamicCol.Text  = string.IsNullOrEmpty(colInfo.Caption) ? colInfo.ColumnValueCode : colInfo.Caption;
                    dynamicCol.Index = dynamicCol.Index + index;

                    index += 1;
                }
            }
            return(gridViewLayoutInfo);
        }
        /// <summary>
        /// 创建动态列并带有动态Caption 的描述信息。
        /// </summary>
        /// <param name="convertObject"></param>
        /// <param name="gridViewLayoutInfo"></param>
        public GridViewLayoutInfo ResetDynamicCaptionColumnViewLayout(MB.WinBase.Data.HViewDataConvert <T> convertObject, GridViewLayoutInfo gridViewLayoutInfo)
        {
            GridColumnLayoutInfo settingBand = getDynamicBandSetting(gridViewLayoutInfo.GridLayoutColumns);

            if (settingBand == null || settingBand.Childs.Count == 0)
            {
                return(gridViewLayoutInfo);
            }
            var dynamicColumns = convertObject.DynamicColumns;

            GridColumnLayoutInfo settingClone = settingBand.Childs[0].Clone() as GridColumnLayoutInfo;

            settingBand.Childs.Clear();
            for (int index = 0; index < convertObject.DynamicColumnCount; index++)
            {
                GridColumnLayoutInfo dynamicCol = (GridColumnLayoutInfo)settingClone.CloneWithoutChilds();
                settingBand.Childs.Add(dynamicCol);
                if (string.Compare(dynamicCol.Type, XtraGridViewHelper.BAND_TYPE_NAME, true) == 0)
                {
                    dynamicCol.Childs = new List <GridColumnLayoutInfo>();
                    foreach (GridColumnLayoutInfo child in settingClone.Childs)
                    {
                        GridColumnLayoutInfo childColumn = child.CloneWithoutChilds();
                        childColumn.Name = MB.WinBase.Data.HViewDataConvert.CreateDynamicColumnFieldName(childColumn.Name, index);
                        dynamicCol.Childs.Add(childColumn);
                    }
                }
                else
                {
                    dynamicCol.Name = MB.WinBase.Data.HViewDataConvert.CreateDynamicColumnFieldName(dynamicCol.Name, index);
                }
                //dynamicCol.Text = colInfo.Caption;
                dynamicCol.Index = dynamicCol.Index + index;
            }
            return(gridViewLayoutInfo);
        }