//Get ScreenConfig by using the same API as GetReportConfig public void LoadScreenConfig() { CTable o = new CTable(""); o.SetFieldValue("REPORT_NAME", refID); o.SetFieldValue("USER_ID", OnixWebServiceAPI.UserID()); ArrayList arr = OnixWebServiceAPI.GetReportConfigList(o); if (arr.Count <= 0) { return; } CTable obj = (CTable)arr[0]; CTable info = OnixWebServiceAPI.GetReportConfigInfo(obj); scrConfig.SetDbObject(info); ArrayList cols = info.GetChildArray("SORTABLE_COLUMN_ITEMS"); if (cols == null) { return; } foreach (CTable t in cols) { MCriteriaColumn v = new MCriteriaColumn(t); scrConfig.SortingColumns.Add(v); } }
public ObservableCollection <MBaseModel> GetSortableColumns() { ObservableCollection <MBaseModel> items = new ObservableCollection <MBaseModel>(); ArrayList arr = new ArrayList(); int idx = 0; foreach (CCriteriaColumnBase cc in gridColumns) { if (cc.Sortable) { MCriteriaColumn mc = new MCriteriaColumn(); mc.ColumnName = cc.ColumnName; mc.ColumnText = CLanguage.getValue(cc.ColumnCaptionKey); mc.ColumnKey = cc.ColumnCaptionKey; mc.SortingOrderBy = getSettingValue(mc.ColumnName, "SortingOrderBy", "ASC"); mc.IsUsedForSortingFlag = getSettingValue(mc.ColumnName, "IsUsedForSortingFlag", "N"); mc.ItemSeqNo = getSettingValue(mc.ColumnName, "ItemSeqNo", idx.ToString()); arr.Add(mc); } idx++; } //Sort by ItemSeqNo here arr.Sort(new SortableColumnComparator()); foreach (MCriteriaColumn cc in arr) { items.Add(cc); } return(items); }
public int Compare(object x, object y) { MCriteriaColumn bi1 = x as MCriteriaColumn; MCriteriaColumn bi2 = y as MCriteriaColumn; int no1 = CUtil.StringToInt(bi1.ItemSeqNo); int no2 = CUtil.StringToInt(bi2.ItemSeqNo); return(no1.CompareTo(no2)); }