public void Setup(ClsBindGrid GridDef, DataTable Dt_Source) { List<ClsBindGridColumn> GridDef_Columns = GridDef.pColumns; this.mFilterFields = new List<UcFilter_Field>(); foreach ( ClsBindGridColumn Item_Gc in (from O in GridDef_Columns where O.pIsFilter == true select O)) { UcFilter_Field Field = new UcFilter_Field(); Field.FieldName = Item_Gc.pFieldName; Field.FieldDesc = Item_Gc.pFieldDesc; if (Dt_Source.Columns.Contains(Item_Gc.pFieldName)) { Field.DataType = Dt_Source.Columns[Item_Gc.pFieldName].DataType; } this.mFilterFields.Add(Field); } Layer01_Methods.BindCombo(this.Cbo_Field, this.mFilterFields, "FieldDesc", "FieldName"); //[-] this.mDt_FilterItems = new DataTable(); this.mDt_FilterItems.Columns.Add("Key", typeof(Int64)); this.mDt_FilterItems.Columns.Add("Field", typeof(String)); this.mDt_FilterItems.Columns.Add("Field_Condition", typeof(String)); this.mDt_FilterItems.Columns.Add("Btn_Delete", typeof(String)); Layer01_Methods_C1.InitializeGrid(this.Grid_Filters); this.Grid_Filters.FilterBar = false; this.Grid_Filters.AllowFilter = false; this.Grid_Filters.DataSource = this.mDt_FilterItems; ClsBindGrid GridDef_FilterItems = new ClsBindGrid(); GridDef_FilterItems.pColumns.Add(new ClsBindGridColumn("Field", "Field", 100)); GridDef_FilterItems.pColumns.Add(new ClsBindGridColumn("Field_Condition", "Condition", 200)); GridDef_FilterItems.pColumns.Add(new ClsBindGridColumn("Btn_Delete", "", 100, "", Layer01_Constants.eSystem_Lookup_FieldType.FieldType_Button, Layer01_Constants.eSystem_Lookup_HorizontalAlign.Grid_HorizontalAlign_Center)); Layer01_Methods_C1.BindGrid_SetColumns(this.Grid_Filters, GridDef_FilterItems); this.Setup_EventHandlers(); }
void AddFilter(UcFilter_Field Field, String FilterText) { QueryCondition.Str_QueryCondition New_Qc = this.mQc.Add(Field.FieldName, FilterText, Field.DataType.Name); Int64 LastKey = 0; if (this.mConditions.Any()) { LastKey = this.mConditions.Max(O => O.Key); } LastKey++; this.mConditions.Add(LastKey, New_Qc); Do_Methods.AddDataRow( ref this.mDt_FilterItems , new String[] { "Key", "Field", "Field_Condition", "Btn_Delete" } , new Object[] { LastKey, Field.FieldName, New_Qc.Operator + " " + Do_Methods.Convert_String(New_Qc.Value), "Remove" }); if (this.EvFilter != null) { this.EvFilter(this.mQc); } }