private void InitColumns(ComSunGridColumnInfo columns) { if (null == columns) { return; } if (this.SubGrid.Columns.Count > 0) { return; } foreach (var item in columns.Columns) { if (item.HeaderContent.ToString() == "SubGridListName") { this.MyListName = item.FieldName; continue; } this.SubGrid.Columns.Add(item); } this.SubGrid.UpdateLayout(); /////////////////////////////////////////////////////// this.SubGrid.ShowTotals = System.Windows.Visibility.Visible; this.SubGrid.BeginUpdate(); try { this.SubGrid.Totals.Clear(); foreach (var item in columns.SumColumns) { this.SubGrid.Totals.Add(new AgDataGridSummaryItem() { FieldName = item.FieldName, Title = item.Title, SummaryType = SummaryItemType.Sum }); } this.SubGrid.Totals[0].SummaryType = SummaryItemType.Count; } finally { this.SubGrid.EndUpdate(); } }
protected void InitSubGridColumns() { ObservableCollection <AgDataGridSummaryItem> sumcolumns = new ObservableCollection <AgDataGridSummaryItem>(); try { if (null == _Columns) { _Columns = new ObservableCollection <AgDataGridColumn>(); var xmlPath = @"/ERP;component/XML/Grid/" + this.XMLPath + @"/" + this.VMNameAuthority + "Sub.xml"; using (XmlReader _XReader = XmlReader.Create(xmlPath)) { XElement xelement = XElement.Load(_XReader); _Columns.Add(new AgDataGridColumn { FieldName = this.VMName.Substring(2), HeaderContent = "SubGridListName" }); var items = xelement.Descendants("Column"); foreach (var item in items) { string _FieldName = item.Attribute("FieldName").Value.ToString(); string _HeaderContent = item.Attribute("HeaderContent").Value.ToString().UIStr(); string _Fsum = ""; string _Title = ""; try { _Fsum = item.Attribute("Fsum").Value.ToString().UIStr(); } catch { } try { _Title = item.Attribute("Title").Value.ToString().UIStr(); } catch { } ///////////////////////////// _Columns.Add(new AgDataGridColumn { FieldName = _FieldName, HeaderContent = _HeaderContent }); if (_Fsum == "1") { sumcolumns.Add(new AgDataGridSummaryItem { FieldName = _FieldName, Title = _Title }); } } } } ComSunGridColumnInfo c = new ComSunGridColumnInfo() { Columns = _Columns, SumColumns = sumcolumns }; Messenger.Default.Send <ComSunGridColumnInfo>((c), USysMessages.InitSubGridColumns); } catch { } }