Beispiel #1
0
        public void FillData()
        {
            dt  = new DataTable();
            dtG = UnitDirBL.GetOCGMaster();

            DataRow dr;

            dr              = dtG.NewRow();
            dr["GroupId"]   = 0;
            dr["GroupName"] = "None";
            dtG.Rows.InsertAt(dr, 0);

            DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit cboOC = new DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit();
            cboOC.DataSource = dtG;
            cboOC.PopulateColumns();
            cboOC.ValueMember   = "GroupId";
            cboOC.DisplayMember = "GroupName";
            cboOC.Columns["GroupId"].Visible = false;
            cboOC.ShowFooter = false;
            cboOC.ShowHeader = false;

            dt = UnitDirBL.GetOCGList();
            grdOC.DataSource = dt;
            grdOC.ForceInitialize();
            grdOCView.PopulateColumns();
            grdOCView.Columns["OtherCostId"].Visible = false;
            grdOCView.Columns["GroupId"].Caption     = "GroupName";
            grdOCView.Columns["GroupId"].ColumnEdit  = cboOC;
            cboOC.EditValueChanged += new EventHandler(cboOC_EditValueChanged);

            grdOCView.OptionsCustomization.AllowFilter       = true;
            grdOCView.OptionsBehavior.AllowIncrementalSearch = true;
            grdOCView.OptionsView.ShowAutoFilterRow          = false;
            grdOCView.OptionsView.ShowViewCaption            = false;
            grdOCView.OptionsView.ShowFooter           = true;
            grdOCView.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CellSelect;
            grdOCView.OptionsSelection.InvertSelection = false;
            grdOCView.OptionsView.ColumnAutoWidth      = true;
            grdOCView.Appearance.HeaderPanel.Font      = new Font(grdOCView.Appearance.HeaderPanel.Font, FontStyle.Bold);
            grdOCView.FocusedRowHandle = 0;
            grdOCView.FocusedColumn    = grdOCView.VisibleColumns[0];

            grdOCView.Appearance.FocusedCell.BackColor = Color.Teal;
            grdOCView.Appearance.FocusedCell.ForeColor = Color.White;
            grdOCView.Appearance.FocusedRow.ForeColor  = Color.Teal;
            grdOCView.Appearance.FocusedRow.BackColor  = Color.White;
        }
Beispiel #2
0
        private void PopulateGrid()
        {
            DataTable dt = new DataTable();

            dtOC = new DataTable();

            dt   = ProjectInfoBL.GetOtherCostType();
            dtOC = ProjectInfoBL.GetOCTypeMaster();

            DataRow dr;

            dr               = dtOC.NewRow();
            dr["OCTypeId"]   = 0;
            dr["OCTypeName"] = "None";
            dtOC.Rows.InsertAt(dr, 0);

            DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit cboOC = new DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit();
            cboOC.DataSource = dtOC;
            cboOC.PopulateColumns();
            cboOC.ValueMember   = "OCTypeId";
            cboOC.DisplayMember = "OCTypeName";
            cboOC.Columns["OCTypeId"].Visible = false;
            cboOC.ShowFooter = false;
            cboOC.ShowHeader = false;

            grdOC.DataSource = dt;
            grdViewOC.PopulateColumns();
            grdViewOC.Columns["OCTypeId"].Caption    = "TypeName";
            grdViewOC.Columns["OtherCostId"].Visible = false;
            grdViewOC.Columns["OtherCostName"].OptionsColumn.AllowEdit = false;
            grdViewOC.Columns["OCTypeId"].ColumnEdit = cboOC;
            cboOC.EditValueChanged += new EventHandler(cboOC_EditValueChanged);

            grdViewOC.Appearance.HeaderPanel.Font = new Font(grdViewOC.Appearance.HeaderPanel.Font, FontStyle.Bold);

            grdViewOC.OptionsSelection.InvertSelection = true;
            grdViewOC.OptionsSelection.EnableAppearanceHideSelection = false;
            grdViewOC.Appearance.FocusedRow.BackColor = Color.Teal;
            grdViewOC.Appearance.FocusedRow.ForeColor = Color.White;
        }
        /// <summary>
        /// 直接設定DataTable給RepositoryItemLookUpEdit
        /// </summary>
        /// <param name="cbx"></param>
        /// <param name="dataSource">dataTable or Dictionary(k,v)</param>
        /// <param name="valueMember">valueMember</param>
        /// <param name="displayMember">displayMember</param>
        /// <param name="textEditStyles">Standard=可輸入  DisableTextEditor=不可輸入,單純的下拉選單</param>
        /// <param name="nullText">nullText</param>
        public static void SetColumnLookUp(this DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit cbx,
                                           object dataSource,
                                           string valueMember,
                                           string displayMember          = "CP_DISPLAY",
                                           TextEditStyles textEditStyles = TextEditStyles.Standard,
                                           string nullText = "--請選擇--"
                                           )
        {
            //一些基本參數設定
            //cbx.EnterMoveNextControl = true;
            cbx.NullText              = nullText;
            cbx.DropDownRows          = 10;                    //一次顯示的下拉選單項目數量(太多或太少都不好)
            cbx.BestFitMode           = BestFitMode.BestFitResizePopup;
            cbx.SearchMode            = SearchMode.AutoFilter; //SearchMode.AutoFilter=輸入框每次輸入,都直接過濾下拉選項
            cbx.AutoSearchColumnIndex = 1;
            cbx.TextEditStyle         = textEditStyles;        //Standard=可輸入  DisableTextEditor=不可輸入,單純的下拉選單

            cbx.ShowHeader = false;
            cbx.ShowFooter = false;

            cbx.DataSource = dataSource;
            cbx.ForceInitialize();
            cbx.PopulateColumns();
            cbx.DisplayMember = displayMember;
            cbx.ValueMember   = valueMember;
            //把不需要顯示的欄位隱藏
            foreach (LookUpColumnInfo col in cbx.Columns)
            {
                if (!string.IsNullOrEmpty(displayMember))
                {
                    if (col.FieldName.ToUpper() != displayMember.ToUpper())
                    {
                        col.Visible = false;
                    }
                }
            }
        }