public GridDisplayColumn(string name, string displayName = "", MVCxGridViewColumnType columnType = MVCxGridViewColumnType.TextBox, int?width = 50, int?height = 100, int?editLayoutWidth = null, int?editLayoutHeight = null, bool isReadOnly = false, bool customizable = true, ErrorDisplayMode errorDisplayMode = ErrorDisplayMode.ImageWithTooltip, string displayFormat = "", bool isVisible = true, bool isWidthAndHeightInPercentage = true, object callBackRoute = null, Action <MVCxGridViewColumn> columnAction = null, GridCombo lookup = null, bool encodeHtml = true, int?groupIndex = null, DefaultBoolean allowHeaderFilter = DefaultBoolean.True, DefaultBoolean allowSort = DefaultBoolean.True, AutoFilterCondition autoFilterCondition = AutoFilterCondition.Contains, ColumnFilterMode filterMode = ColumnFilterMode.DisplayText, DefaultBoolean allowEditLayout = DefaultBoolean.True, int order = 0, ExpandoObject editorProperties = null) : base(name, displayName, columnType, width, height, isVisible, isWidthAndHeightInPercentage, allowEditLayout, order) { IsReadOnly = isReadOnly; Customizable = customizable; ErrorDisplayMode = errorDisplayMode; DisplayFormat = displayFormat; CallBackRoute = callBackRoute; ColumnAction = columnAction; Lookup = lookup; EncodeHtml = encodeHtml; GroupIndex = groupIndex; AllowSort = allowSort; AllowHeaderFilter = allowHeaderFilter; AutoFilterCondition = autoFilterCondition; FilterMode = filterMode; EditorProperties = editorProperties; EditLayoutWidth = editLayoutWidth ?? width; EditLayoutHeight = editLayoutHeight ?? height; IsGridLookup = (lookup != null && lookup is GridLookup); }
protected override CriteriaOperator CreateAutoFilterCriteria(String fieldName, AutoFilterCondition condition, Object value) { if (fieldName == "State") { var statusWrapper = (AddressStateWrapper)value; if (statusWrapper?.State == null) { return(null); } return(new BinaryOperator(new OperandProperty(fieldName), new OperandValue((Int16)statusWrapper.State.Value), BinaryOperatorType.Equal)); } return(base.CreateAutoFilterCriteria(fieldName, condition, value)); }
/// <summary> /// 그리드에 컬럼을 추가합니다. /// </summary> /// <param name="Caption">컬럼캡션</param> /// <param name="Field">매핑필드명</param> /// <param name="ColumnType">컬럼타입</param> /// <param name="Width">컬럼 넒이.</param> /// <param name="Align">컬럼높이.</param> /// <param name="IsVisble">컬럼화면출력여부 <c>true</c> [is visble].</param> /// <param name="IsAllowEdit">컬럼수정가능여부 <c>true</c> [is allow edit].</param> /// <param name="IsAllowSort">컬럼소트여부.</param> /// <param name="FilterCondition">컬럼의 필터 속성을 지정합니다.</param> public void AddColumn(string Caption, string Field, _ColumnType ColumnType, int Width, _ColumnAlign Align, bool IsVisble, bool IsAllowEdit, DefaultBoolean IsAllowSort, AutoFilterCondition FilterCondition, bool IsAllowMove) { _GridView.Columns.Add(SetColumn(Caption, Field, ColumnType, Width, Align, IsVisble, IsAllowEdit, IsAllowSort, FilterCondition, IsAllowMove)); }
/// <summary> /// Sets the column. /// </summary> /// <param name="strheader">The strheader.</param> /// <param name="strFieldsName">Name of the STR fields.</param> /// <param name="ct">The ct.</param> /// <param name="nWidth">Width of the n.</param> /// <param name="mAlign">The m align.</param> /// <param name="bVisible">if set to <c>true</c> [b visible].</param> /// <param name="IsAllowEdit">if set to <c>true</c> [is allow edit].</param> /// <param name="IsAllowSort">The is allow sort.</param> /// <returns></returns> private DevExpress.XtraGrid.Columns.GridColumn SetColumn(string strheader, string strFieldsName, _ColumnType ct, int nWidth, _ColumnAlign mAlign, bool bVisible, bool IsAllowEdit, DefaultBoolean IsAllowSort, AutoFilterCondition autoFilterCondition, bool IsAllowMove) { DevExpress.XtraGrid.Columns.GridColumn gc = new GridColumn(); gc.Caption = strheader; gc.FieldName = strFieldsName; gc.Name = strFieldsName; gc.Width = nWidth; //// 헤더 텍스트 옵션을 사용한다. gc.AppearanceHeader.Options.UseTextOptions = true; gc.OptionsColumn.AllowMerge = DefaultBoolean.False; // 셀 텍스트 옵션을 사용한다. gc.AppearanceCell.Options.UseTextOptions = true; gc.AppearanceCell.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Default; gc.AppearanceCell.TextOptions.HAlignment = (DevExpress.Utils.HorzAlignment)mAlign; gc.AppearanceHeader.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Default; gc.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; gc.Visible = bVisible; gc.OptionsColumn.AllowEdit = IsAllowEdit; gc.OptionsColumn.AllowMove = IsAllowMove; gc.OptionsColumn.ReadOnly = !IsAllowEdit; gc.OptionsColumn.AllowSort = IsAllowSort; gc.VisibleIndex = bVisible ? iVisibleIndex++ : -1; gc.OptionsFilter.AllowAutoFilter = true; //gc.OptionsFilter.AllowFilter = false; gc.OptionsFilter.AutoFilterCondition = autoFilterCondition; gc.OptionsFilter.ImmediateUpdateAutoFilter = true; gc.AppearanceHeader.Font = new System.Drawing.Font("굴림체", 9F); gc.AppearanceHeader.Options.UseFont = true; if (ct > 0) { switch (ct) { case _ColumnType.CheckBox: if (this._GridControl != null) { mCheckBox = new RepositoryItemCheckEdit(); this._GridControl.RepositoryItems.Add(SetCheckBoxStyle(mCheckBox, CheckBoxStyle.StyleYN)); gc.ColumnEdit = mCheckBox; //gc.OptionsColumn.AllowEdit= true; //gc.OptionsColumn.ReadOnly = false; } break; case _ColumnType.CheckBoxBit: if (this._GridControl != null) { mCheckBox = new RepositoryItemCheckEdit(); this._GridControl.RepositoryItems.Add(SetCheckBoxStyle(mCheckBox, CheckBoxStyle.StyleBit)); gc.ColumnEdit = mCheckBox; //gc.OptionsColumn.AllowEdit= true; //gc.OptionsColumn.ReadOnly = false; } break; case _ColumnType.Picture: if (this._GridControl != null) { mPicture = new RepositoryItemPictureEdit(); mPicture.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Stretch; this._GridControl.RepositoryItems.Add(mPicture); gc.ColumnEdit = mPicture; //gc.OptionsColumn.AllowEdit= true; //gc.OptionsColumn.ReadOnly = false; } break; case _ColumnType.Numbers: gc.DisplayFormat.FormatType = FormatType.Numeric; gc.DisplayFormat.FormatString = "n0"; break; case _ColumnType.Dates: gc.DisplayFormat.FormatType = FormatType.DateTime; gc.DisplayFormat.FormatString = "yyyy-MM-dd"; break; case _ColumnType.DateTime: gc.DisplayFormat.FormatType = FormatType.DateTime; gc.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss"; break; case _ColumnType.ComboBox: mComboBox = new RepositoryItemComboBox(); mComboBox.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; this._GridControl.RepositoryItems.Add(mComboBox); gc.ColumnEdit = mComboBox; //gc.OptionsColumn.ReadOnly = false; //gc.OptionsColumn.AllowEdit= true; break; case _ColumnType.doubles1: gc.DisplayFormat.FormatType = FormatType.Numeric; gc.DisplayFormat.FormatString = "n1"; break; case _ColumnType.doubles2: gc.DisplayFormat.FormatType = FormatType.Numeric; gc.DisplayFormat.FormatString = "n2"; break; case _ColumnType.TextEdit: mTextEdit = new RepositoryItemTextEdit(); this._GridControl.RepositoryItems.Add(mTextEdit); gc.ColumnEdit = mTextEdit; //gc.OptionsColumn.ReadOnly = false; //gc.OptionsColumn.AllowEdit= true; break; case _ColumnType.Amount: gc.DisplayFormat.FormatType = FormatType.Numeric; gc.DisplayFormat.FormatString = "###,###"; break; case _ColumnType.LookUp: mLookUp = new RepositoryItemLookUpEdit(); mLookUp.Name = "LOOKUP_" + gc.FieldName; //mLookUp.Properties.SearchMode = DevExpress.XtraEditors.Controls.SearchMode.AutoComplete; //mLookUp.Properties.AutoSearchColumnIndex = 0; mLookUp.SearchMode = DevExpress.XtraEditors.Controls.SearchMode.AutoComplete; mLookUp.AutoSearchColumnIndex = 0; this._GridControl.RepositoryItems.Add(mLookUp); gc.ColumnEdit = mLookUp; //gc.OptionsColumn.ReadOnly = false; //gc.OptionsColumn.AllowEdit= true; break; case _ColumnType.Radio: if (this._GridControl != null) { mRadio = new RepositoryItemRadioGroup(); this._GridControl.RepositoryItems.Add(mRadio); gc.ColumnEdit = mRadio; //gc.OptionsColumn.ReadOnly = false; //gc.OptionsColumn.AllowEdit= true; } break; case _ColumnType.RichEdit: if (this._GridControl != null) { mRichEdit = new RepositoryItemRichTextEdit(); this._GridControl.RepositoryItems.Add(mRichEdit); gc.ColumnEdit = mRichEdit; //gc.OptionsColumn.ReadOnly = false; //gc.OptionsColumn.AllowEdit= true; } break; case _ColumnType.Button: if (this._GridControl != null) { mBtn = new RepositoryItemButtonEdit(); mBtn.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; mBtn.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph; //mBtn.Properties.Buttons[0].Caption = "확인"; mBtn.Properties.Buttons[0].Appearance.ForeColor = Color.Black; this._GridControl.RepositoryItems.Add(mBtn); gc.ColumnEdit = mBtn; //gc.OptionsColumn.ReadOnly = false; //gc.OptionsColumn.AllowEdit= true; } break; case _ColumnType.DataTimepicker: if (this._GridControl != null) { mDateEdit = new RepositoryItemDateEdit(); mDateEdit.EditFormat.FormatType = FormatType.DateTime; mDateEdit.DisplayFormat.FormatString = "yyyy-MM-dd"; mDateEdit.Appearance.ForeColor = Color.Black; this._GridControl.RepositoryItems.Add(mDateEdit); gc.ColumnEdit = mDateEdit; //gc.OptionsColumn.ReadOnly = false; //gc.OptionsColumn.AllowEdit= true; } break; case _ColumnType.Progressbar: if (this._GridControl != null) { mProgressBar = new RepositoryItemProgressBar(); mProgressBar.ShowTitle = true; mProgressBar.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid; mProgressBar.PercentView = true; mProgressBar.ProgressKind = DevExpress.XtraEditors.Controls.ProgressKind.Horizontal; mProgressBar.NullText = "0"; mProgressBar.Step = 1; mProgressBar.EditFormat.FormatType = FormatType.Numeric; mProgressBar.EditFormat.FormatString = "n2"; this._GridControl.RepositoryItems.Add(mProgressBar); gc.ColumnEdit = mProgressBar; //gc.OptionsColumn.ReadOnly = false; //gc.OptionsColumn.AllowEdit= true; } break; default: break; } } return(gc); }
protected override CriteriaOperator CreateAutoFilterCriteria(string fieldName, AutoFilterCondition condition, object value) { if (condition == AutoFilterCondition.Equals) { return(base.CreateAutoFilterCriteria(fieldName, condition, value)); } string strValue = value.ToString(); if (string.IsNullOrEmpty(strValue)) { return(null); } if (condition == AutoFilterCondition.Contains) { return(new FunctionOperator(FunctionOperatorType.Contains, new OperandProperty(fieldName), strValue)); } else { return(new FunctionOperator(FunctionOperatorType.StartsWith, new OperandProperty(fieldName), strValue)); } }