コード例 #1
0
        public static List <ClsBindGridColumn_EO> BindEOGrid(
            ref EO.Web.Grid EOGrid
            , string Name
            , string TableKey = ""
            , bool AllowSort  = true
            , bool HasDelete  = false)
        {
            DataTable Dt_Bind = Do_Methods_Query.GetQuery("System_BindDefinition", "", @"Name = '" + Name + "'");
            DataRow   Dr_Bind;

            if (Dt_Bind.Rows.Count > 0)
            {
                Dr_Bind = Dt_Bind.Rows[0];
            }
            else
            {
                throw new Exception("Bind Definition not found.");
            }

            List <ClsBindGridColumn_EO> Gc = GetBindGridColumn_EO(Name);
            DataTable Dt = Do_Methods_Query.GetQuery(
                (string)Do_Methods.IsNull(Dr_Bind["TableName"], "")
                , ""
                , (string)Do_Methods.IsNull(Dr_Bind["Condition"], "")
                , (string)Do_Methods.IsNull(Dr_Bind["Sort"], ""));

            if (TableKey.Trim() != "")
            {
                TableKey = (string)Do_Methods.IsNull(Dr_Bind["TableKey"], "");
            }

            BindEOGrid(ref EOGrid, Dt, Gc, TableKey, AllowSort, HasDelete);

            return(Gc);
        }
コード例 #2
0
        public static List <ClsBindGridColumn_EO> BindEOGrid(
            ref EO.Web.Grid EOGrid
            , string Name
            , DataTable Dt
            , string TableKey = ""
            , bool AllowSort  = true
            , bool HasDelete  = false)
        {
            List <ClsBindGridColumn_EO> Gc = GetBindGridColumn_EO(Name);

            BindEOGrid(ref EOGrid, Dt, Gc, TableKey, AllowSort, HasDelete);
            return(Gc);
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        public static void PostEOGrid(
            ref EO.Web.Grid EOGrid
            , DataTable Dt
            , string KeyField
            , bool HasDelete = true)
        {
            DataTable Dt_DeletedKeys = new DataTable();

            Dt_DeletedKeys.Columns.Add("Key", typeof(Int64));

            List <Int64> List_DeletedKeys = new List <long>();


            foreach (EO.Web.GridItem Gi in EOGrid.Items)
            {
                Int64     Key   = (Int64)Do_Methods.IsNull(Gi.Key, 0);
                DataRow[] ArrDr = Dt.Select(KeyField + " = " + Key);
                DataRow   Dr;

                if (Gi.Deleted)
                {
                    if (Key > 0)
                    {
                        List_DeletedKeys.Add(Key);
                    }
                    continue;
                }

                if (ArrDr.Length > 0)
                {
                    Dr = ArrDr[0];
                }
                else
                {
                    Int64     Ct          = 0;
                    DataRow[] Inner_ArrDr = Dt.Select("", KeyField + " Desc");
                    if (Inner_ArrDr.Length > 0)
                    {
                        Ct = (Int64)Inner_ArrDr[0][KeyField];
                    }
                    Ct++;
                    Dr           = Dt.NewRow();
                    Dr[KeyField] = Ct;
                    Dt.Rows.Add(Dr);
                }

                foreach (EO.Web.GridCell Cell in Gi.Cells)
                {
                    if (Cell.Column.ReadOnly)
                    {
                        continue;
                    }

                    if (Cell.Column.Name == null)
                    {
                        continue;
                    }

                    if (Cell.Column.Name == "")
                    {
                        continue;
                    }

                    try
                    { Dr[Cell.Column.DataField] = Cell.Value; }
                    catch
                    { Dr[Cell.Column.DataField] = DBNull.Value; }
                }
            }

            if (HasDelete)
            {
                foreach (Int64 Key in List_DeletedKeys)
                {
                    DataRow[] ArrDr = Dt.Select(KeyField + " = " + Key);
                    if (ArrDr.Length > 0)
                    {
                        ArrDr[0].Delete();
                    }
                }
            }
        }