public List <BO.TheGridColumnFilter> ParseAdhocFilterFromString(string strJ72Filter, IEnumerable <BO.TheGridColumn> explicit_cols) { var ret = new List <BO.TheGridColumnFilter>(); if (String.IsNullOrEmpty(strJ72Filter) == true) { return(ret); } List <string> lis = BO.BAS.ConvertString2List(strJ72Filter, "$$$"); foreach (var s in lis) { List <string> arr = BO.BAS.ConvertString2List(s, "###"); if (explicit_cols.Where(p => p.UniqueName == arr[0]).Count() > 0) { var c = new BO.TheGridColumnFilter() { field = arr[0], oper = arr[1], value = arr[2] }; c.BoundColumn = explicit_cols.Where(p => p.UniqueName == arr[0]).First(); ParseFilterValue(ref c); ret.Add(c); } } return(ret); }
private void ParseFilterValue(ref BO.TheGridColumnFilter col) { { if (col.value.Contains("|")) { var a = col.value.Split("|"); col.c1value = a[0]; col.c2value = a[1]; } else { col.c1value = col.value; col.c2value = ""; } switch (col.oper) { case "1": { col.value_alias = "Je prázdné"; break; } case "2": { col.value_alias = "Není prázdné"; break; } case "3": // obsahuje { col.value_alias = col.c1value; break; } case "5": // začíná na { col.value_alias = "[*=] " + col.c1value; break; } case "6": // je rovno { col.value_alias = "[=] " + col.c1value; break; } case "7": // není rovno { col.value_alias = "[<>] " + col.c1value; break; } case "8": { col.value_alias = "ANO"; break; } case "9": { col.value_alias = "NE"; break; } case "10": // je větší než nula { col.value_alias = "větší než 0"; break; } case "11": { col.value_alias = "0 nebo prázdné"; break; } case "4": // interval { if (col.BoundColumn.FieldType == "date" | col.BoundColumn.FieldType == "datetime") { col.value_alias = col.c1value + " - " + col.c2value; // datum } else { col.value_alias = col.c1value + " - " + col.c2value; } // číslo break; } } } }