public virtual void FillGrid(XmlNode cmbNode) { //grid列处理 if (XmlUtil.GetSubNodeText(cmbNode, "@sum") != null) { listViewObj.AllowSum = XmlUtil.GetSubNodeText(cmbNode, "@sum") == "1"; } if (XmlUtil.GetSubNodeText(cmbNode, "@allowgroup") != null) { listViewObj.AllowGroup = XmlUtil.GetSubNodeText(cmbNode, "@allowgroup") == "1"; } listViewObj.GroupBy = XmlUtil.GetSubNodeText(cmbNode, "@groupby"); listViewObj.SumItems = XmlUtil.GetSubNodeText(cmbNode, "@sumitems"); XmlNodeList nodes = cmbNode.SelectNodes("cols/f"); if (nodes.Count > 0) { //listobj.Columns = new ListGrid.ListGridColumnHeaderCollection(this.listViewObj); ClearItems(); foreach (XmlNode node in nodes) { ViewItem vi = new ViewItem(); vi.LoadXml(node); IDataFieldHeaderColumn ch = GetHeaderColumn(); ch.Text = vi.Text; ch.Width = vi.Width; if (!vi.Perm) { ch.Width = 0; } DataGridColumn dgc = new DataGridColumn(this); dgc.LoadXml(node); dgc.Text = ch.Text; dgc.Width = ch.Width; dgc.DataField = vi.Name; ch.DataType = dgc.DataType; ch.NeedSum = dgc.Sum; ch.DataField = dgc.dpt.Name; AddColumnItem(ch); this.Columns.Add(dgc); if (ViewList.ContainsKey(vi.Name)) { continue; } ViewList.Add(vi.Name, vi); if (!listViewObj.DataGridColumns.ContainsKey(dgc.dpt.Name)) { listViewObj.DataGridColumns.Add(dgc.dpt.Name, dgc); } } //AcceptRejectRule } //事件初始化 XmlNodeList evtnodes = cmbNode.SelectNodes("action/evt"); if (evtnodes.Count > 0) { foreach (XmlNode node in evtnodes) { CMenuItem mnu = MenuProcess.GetMenu(null, node, frmhandle.strUid); string strEvtName = XmlUtil.GetSubNodeText(node, "@id"); //'mnu = CMenuItem. switch (strEvtName) { case "dbclick": { this.ItemDbClickedMenu = mnu; //this.listView1.DoubleClick += new EventHandler(listView1_DoubleClick); break; } } } } listViewObj.Tag = this; }
protected abstract void AddColumnItem(IDataFieldHeaderColumn ch);
protected override void AddColumnItem(IDataFieldHeaderColumn ch) { (listobj.Columns as ListGrid.ListGridColumnHeaderCollection).Add(ch as ColumnHeader); }