/* * Метод перелистывания страниц в гриде */ protected void Store1_RefreshData(object sender, Ext.Net.StoreRefreshDataEventArgs e) { DataSet data = null; List<GridColumn> columns = new List<GridColumn>(); using (ContentDomain provider = Common.GetContentDomain(ClassifiacationTypeView)) { Domain.OrderExpression OrderExpression = new OrderExpression(); if (e.Sort.Length > 0) { string expr = e.Sort.Split('|')[0]; string tp = e.Sort.Split('|')[1]; OrderExpression.Expression = expr; OrderExpression.ColumnType = (TypeEnum)Enum.Parse(typeof(TypeEnum), tp); } if (e.Dir == Ext.Net.SortDirection.DESC) OrderExpression.SortDirection = Aspect.Domain.SortDirection.desc; List<SearchExpression> listSearch = this.SearchConditions.ToList(); // показывать только выбранные if (this.ShowSelected && !String.IsNullOrEmpty(hiddenSelectedProducts.Value.ToString())) { SearchExpression selected = new SearchExpression(); selected.FieldCond = Condition.Inset; selected.FieldValue = hiddenSelectedProducts.Value.ToString(); selected.FieldName = "ID"; listSearch.Add(selected); } // показывать основные версии if (FilterView.Value.ToString().Contains("mainVers")) { SearchExpression mainVers = new SearchExpression(); mainVers.FieldID = new Guid("BBE170B0-28E4-4738-B365-1038B03F4552"); //основная версия mainVers.FieldValue = "1"; listSearch.Add(mainVers); } // показывать приказные версии if (FilterView.Value.ToString().Contains("prikazVers")) { SearchExpression mainVers = new SearchExpression(); mainVers.FieldCond = Condition.Beable; mainVers.FieldValue = "9A38E338-DD60-4636-BFE3-6A98BAF8AE87"; // номер приказала listSearch.Add(mainVers); } // получить страницу из списка продуктов, попадающих под все заданные условия data = provider.GetList(RequestClassificationTreeID, this.User.ID, OrderExpression, listSearch, new PagingInfo(e.Start, e.Limit)); columns = provider.GetGridColumns(this.User.ID, RequestClassificationTreeID, FieldPlaceHolder.Grid); } if (data != null && data.Tables.Count > 0) { e.Total = data.Tables[1].Rows[0].Field<int>(0); List<object> dataSource = new List<object>(); foreach (DataRow row in data.Tables[2].Rows) { List<object> dataRow = new List<object>(); foreach (GridColumn column in columns) { if (column.GridColumnType == TypeEnum.Boolean) { dataRow.Add(row[column.DataItem].ToString() == "1"); } else if (column.GridColumnType == TypeEnum.Datetime) { try { dataRow.Add(row.Field<DateTime>(column.DataItem).ToString("yyyy-MM-dd HH:mm:ss.fff")); } catch { dataRow.Add(row[column.DataItem].ToString()); } } else { dataRow.Add(row[column.DataItem].ToString()); } } // adding another field dataRow.Add(row["ID"].ToString()); dataRow.Add(ClassifiacationTypeView == ClassifiacationTypeView.Dictionary ? this.RequestClassificationTreeID : Guid.Empty); dataSource.Add(dataRow.ToArray()); } this.Store1.DataSource = dataSource; this.Store1.DataBind(); } }
protected void BindData(Dictionary<Guid, Guid> productsConfigurations) { using (EditConfigurationProvider provider = new EditConfigurationProvider()) { System.Data.DataTable dt = provider.GetList(ProductID).Tables[0]; if (productsConfigurations.Count > 0) { System.Data.DataTable bfDt = provider.GetAppendList(productsConfigurations).Tables[0]; dt.Merge(bfDt); } // FOR NEW using (EditConfigurationProvider prov = new EditConfigurationProvider()) { List<object> lst = new List<object>(); List<ColumnWidth> columnWidths = provider.ColumnWidths.Where(p => p.ClassificationTreeID == new Guid("11110000-0000-0000-0000-000011110001") && p.UserID == this.User.ID).ToList(); List<GridColumn> list = prov.GetGridColumns(); list = list.OrderBy(clm => columnWidths.Exists(w => w.ColumnID == clm.ID) ? columnWidths.Single(w => w.ColumnID == clm.ID).Index : Int32.MaxValue).ToList(); foreach (DataRow row in dt.Rows) { List<object> lst_sub = new List<object>(); foreach (GridColumn column in list) { if (column.GridColumnType == TypeEnum.Boolean) { if (row[column.DataItem].ToString() == "0") lst_sub.Add(false); else lst_sub.Add(true); } else { lst_sub.Add(row[column.DataItem].ToString()); } } // дополнительные поля lst_sub.Add(row["ID"].ToString()); lst_sub.Add(this.RequestClassificationTreeID.ToString()); lst_sub.Add(row["ConfigurationID"].ToString()); lst.Add(lst_sub.ToArray()); } Store1.DataSource = lst; Store1.DataBind(); } //EditConfigurationGrid.DataSource = dt; //EditConfigurationGrid.DataBind(); // загружаем основание изменений ProductProperty reasonProperty = provider.ProductProperties.SingleOrDefault( pr => pr.PropertyID == new Guid("C266B994-9740-41F6-94DD-07EA5B5FA34A") && pr.ProductID == this.ProductID); if (reasonProperty != null) { ReasonChanges.Text = reasonProperty.Value; } } }