private List <object> GenerateData(object entity, string gridName, List <SoaDataGridColumn> columns) { Dictionary <string, object> dict; using (GridDataConvert dp = new GridDataConvert()) { dict = dp.Process(entity, gridName); } List <object> ret = new List <object>(); foreach (SoaDataGridColumn col in columns) { if (dict.ContainsKey(col.Name)) { ret.Add(dict[col.Name]); } else { object o = null; try { o = EntityScript.GetPropertyValue(entity, col.Name); } catch (Exception) // 不一定有这个属性,例如大写金额 { } ret.Add(o); } } return(ret); }
internal static IList <Dictionary <string, object> > InternalGetItems(string winTabName, NameValueCollection nvc) { if (!Utils.AuthHelper.CheckAuthentication()) { return(null); } ISearchManager sm = Feng.Server.Utils.ServiceHelper.GetSearchManagerFromWindowTab(winTabName); var smParams = Utils.WebHelper.GetSearchManagerParameters(sm, nvc); var se = smParams.Item1; var so = smParams.Item2; sm.FillSearchAdditionals(ref se, ref so); IEnumerable list = sm.GetData(se, so); WindowTabInfo tabInfo = ADInfoBll.Instance.GetWindowTabInfo(winTabName); bool includeDetail = false; if (!string.IsNullOrEmpty(nvc["detail"])) { includeDetail = Feng.Utils.ConvertHelper.ToBoolean(nvc["detail"]).Value; } using (GridDataConvert dp = new GridDataConvert(!includeDetail)) { IList <Dictionary <string, object> > r = dp.Process(list, tabInfo.GridName); return(r); } }