public static EO.Web.GridColumn FindEOGridColumn(
     EO.Web.GridColumnCollection EOGridCollection
     , string ColumnName)
 {
     EO.Web.GridColumn Gc = null;
     foreach (EO.Web.GridColumn Inner_Gc in EOGridCollection)
     {
         if (Inner_Gc.Name == ColumnName)
         {
             Gc = Inner_Gc;
             break;
         }
     }
     return(Gc);
 }
        public static void BindEOGrid(
            ref EO.Web.Grid EOGrid
            , DataTable Dt
            , List <ClsBindGridColumn_EO> Gc
            , string Key     = ""
            , bool AllowSort = true
            , bool HasDelete = false)
        {
            EOGrid.DataSource = Dt;

            if (EOGrid.Columns.Count > 0)
            {
                EOGrid.Columns.Clear();
            }

            EOGrid.AutoGenerateColumns = false;
            EOGrid.AllowPaging         = false;

            EO.Web.GridColumn EOGc = null;

            foreach (ClsBindGridColumn_EO C in Gc)
            {
                switch (C.mFieldType)
                {
                case Layer01_Constants.eSystem_Lookup_FieldType.FieldType_Static:
                    EOGc = new EO.Web.StaticColumn();
                    break;

                case Layer01_Constants.eSystem_Lookup_FieldType.FieldType_Text:
                    EOGc = new EO.Web.TextBoxColumn();
                    break;

                case Layer01_Constants.eSystem_Lookup_FieldType.FieldType_Checkbox:
                    EOGc = new EO.Web.CheckBoxColumn();
                    break;

                case Layer01_Constants.eSystem_Lookup_FieldType.FieldType_DateTime:
                    EOGc = new EO.Web.DateTimeColumn();
                    break;

                case Layer01_Constants.eSystem_Lookup_FieldType.FieldType_Button:
                {
                    EO.Web.ButtonColumn Obj = new EO.Web.ButtonColumn();
                    Obj.CommandName = C.mCommandName;
                    Obj.ButtonType  = C.mButtonType;
                    Obj.ButtonText  = C.mFieldText;
                    EOGc            = Obj;
                    break;
                }

                case Layer01_Constants.eSystem_Lookup_FieldType.FieldType_Delete:
                {
                    EO.Web.DeleteCommandColumn Obj = new EO.Web.DeleteCommandColumn();
                    Obj.DeleteText = C.mFieldText;
                    EOGc           = Obj;
                    break;
                }

                default:
                    EOGc = new EO.Web.StaticColumn();
                    break;
                }

                EOGc.DataField           = C.mFieldName;
                EOGc.HeaderText          = C.mFieldDesc;
                EOGc.DataFormat          = C.mDataFormat;
                EOGc.Name                = C.mColumnName;
                EOGc.ClientSideBeginEdit = C.mClientSideBeginEdit;
                EOGc.ClientSideEndEdit   = C.mClientSideEndEdit;
                EOGc.Width               = C.mWidth;
                EOGc.Visible             = C.mVisible;
                EOGc.ReadOnly            = !C.mEnabled;
                EOGc.AllowSort           = AllowSort;

                if (C.mEOGridCellStyle != null)
                {
                    EOGc.CellStyle = C.mEOGridCellStyle;
                }

                EOGrid.Columns.Add(EOGc);
            }

            if (HasDelete)
            {
                EO.Web.DeleteCommandColumn Obj = new EO.Web.DeleteCommandColumn();
                Obj.DeleteText = "Delete";
                EOGrid.Columns.Add(Obj);
            }

            if (Key != "")
            {
                EOGrid.KeyField = Key;
            }

            EOGrid.DataBind();
        }