void LoadData() { if (m_Report == null) { m_bIsNew = true; m_Report = new CReport(); m_Report.Ctx = Program.Ctx; m_Report.RPT_ReportCatalog_id = m_Catalog_id; m_Report.B_Company_id = m_Company.Id; } txtName.Text = m_Report.Name; dataGridStatItem.Rows.Clear(); foreach (CBaseObject obj in m_Report.StatItemMgr.GetList()) { CStatItem StatItem = (CStatItem)obj; if (StatItem.ItemType == CStatItem.enumItemType.Field) { CTable table = (CTable)Program.Ctx.TableMgr.Find(StatItem.FW_Table_id); if (table == null) { continue; } CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id); if (column == null) { continue; } dataGridStatItem.Rows.Add(1); DataGridViewRow item = dataGridStatItem.Rows[dataGridStatItem.Rows.Count - 1]; item.Cells[0].Value = table.Name; item.Cells[1].Value = column.Name; //DataGridViewComboBoxCell cbCell = (DataGridViewComboBoxCell)item.Cells[2]; //if(cbCell!=null) // cbCell.Value = "val"; item.Cells[2].Value = StatItem.GetStatTypeName(); item.Cells[3].Value = StatItem.GetOrderName(); item.Tag = StatItem; } else { dataGridStatItem.Rows.Add(1); DataGridViewRow item = dataGridStatItem.Rows[dataGridStatItem.Rows.Count - 1]; item.Cells[0].Value = StatItem.Name; item.Cells[1].Value = StatItem.Formula; //DataGridViewComboBoxCell cbCell = (DataGridViewComboBoxCell)item.Cells[2]; //if(cbCell!=null) // cbCell.Value = "val"; item.Cells[2].Value = StatItem.GetStatTypeName(); item.Cells[3].Value = StatItem.GetOrderName(); item.Tag = StatItem; } } txtFilter.Text = m_Report.Filter; }
private void btAddFormula_Click(object sender, EventArgs e) { if (txtAsName.Text.Trim() == "") { MessageBox.Show("请输入别名!"); return; } if (txtFormula.Text.Trim() == "") { MessageBox.Show("请输入公式!"); return; } CStatItem StatItem = new CStatItem(); StatItem.Ctx = Program.Ctx; StatItem.ItemType = CStatItem.enumItemType.Formula; StatItem.RPT_Report_id = m_Report.Id; StatItem.Name = txtAsName.Text.Trim(); StatItem.Formula = txtFormula.Text.Trim(); m_Report.StatItemMgr.AddNew(StatItem); ListViewItem item = new ListViewItem(); item.Text = txtAsName.Text.Trim(); item.SubItems.Add(txtFormula.Text.Trim()); item.Tag = StatItem; listSelColumn.Items.Add(item); }
void LoadData() { listSelColumn.Items.Clear(); foreach (CBaseObject obj in m_Report.StatItemMgr.GetList()) { CStatItem StatItem = (CStatItem)obj; ListViewItem item = new ListViewItem(); if (StatItem.ItemType == CStatItem.enumItemType.Field) { CTable table = (CTable)Program.Ctx.TableMgr.Find(StatItem.FW_Table_id); if (table == null) { continue; } CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id); item.Text = table.Name; item.SubItems.Add(column.Name); } else { item.Text = StatItem.Name; item.SubItems.Add(StatItem.Formula); } item.Tag = StatItem; listSelColumn.Items.Add(item); } }
void AddFormula() { string AsName = Request["AsName"]; if (string.IsNullOrEmpty(AsName)) { Response.Write("别名不能空!"); return; } string Formula = Request["Formula"]; if (string.IsNullOrEmpty(Formula)) { Response.Write("公式不能空!"); return; } CStatItem StatItem = new CStatItem(); StatItem.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); StatItem.RPT_Report_id = m_Report.Id; StatItem.ItemType = CStatItem.enumItemType.Formula; StatItem.Name = AsName; StatItem.Formula = Formula; CUser user = (CUser)Session["User"]; StatItem.Creator = user.Id; m_Report.StatItemMgr.AddNew(StatItem); }
void PostData() { string Name = Request["Name"]; string Catalog_id = Request["catalog_id"]; string GridData = Request["GridData"]; string Filter = Request["Filter"]; if (string.IsNullOrEmpty(Name)) { Response.Write("名称不能空!"); return; } GetReport().Name = Name; if (Catalog_id != "") { GetReport().RPT_ReportCatalog_id = new Guid(Catalog_id); } GetReport().Filter = Filter; int iLastIdx = 0; string[] arr1 = Regex.Split(GridData, ";"); foreach (string str1 in arr1) { if (str1.Length == 0) { continue; } iLastIdx++; string[] arr2 = Regex.Split(str1, ","); string id = arr2[0]; string StatTypeName = arr2[1]; string OrderName = arr2[2]; CStatItem StatItem = (CStatItem)GetReport().StatItemMgr.Find(new Guid(id)); if (StatItem != null) { StatItem.Idx = iLastIdx; StatItem.SetStatTypeByName(StatTypeName); StatItem.SetOrderByName(OrderName); } } CUser user = (CUser)Session["User"]; GetReport().Updator = user.Id; m_Company.ReportMgr.Update(GetReport()); if (!m_Company.ReportMgr.Save(true)) { Response.Write("修改失败!"); return; } }
void UpdateStatItem() { foreach (DataGridViewRow item in dataGridStatItem.Rows) { CStatItem StatItem = (CStatItem)item.Tag; StatItem.Idx = item.Index; StatItem.SetStatTypeByName(item.Cells[2].Value.ToString()); StatItem.SetOrderByName(item.Cells[3].Value.ToString()); m_Report.StatItemMgr.Update(StatItem); } }
void AddStatItem() { string Table_id = Request["Table_id"]; if (string.IsNullOrEmpty(Table_id)) { Response.Write("表不存在!"); return; } CTable table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(new Guid(Table_id)); if (table == null) { Response.Write("表不存在!"); return; } string Column_id = Request["Column_id"]; if (string.IsNullOrEmpty(Column_id)) { Response.Write("字段不存在!"); return; } CColumn column = (CColumn)table.ColumnMgr.Find(new Guid(Column_id)); if (column == null) { Response.Write("字段不存在!"); return; } if (m_Report.StatItemMgr.FindByColumn(table.Id, column.Id) != null) { Response.Write("指标已经存在!"); return; } CStatItem StatItem = new CStatItem(); StatItem.Ctx = Global.GetCtx(Session["TopCompany"].ToString()); StatItem.RPT_Report_id = m_Report.Id; StatItem.FW_Table_id = table.Id; StatItem.FW_Column_id = column.Id; StatItem.Name = column.Name; StatItem.Idx = m_Report.StatItemMgr.GetList().Count; CUser user = (CUser)Session["User"]; StatItem.Creator = user.Id; m_Report.StatItemMgr.AddNew(StatItem); }
private void btDel_Click(object sender, EventArgs e) { if (listSelColumn.SelectedItems.Count == 0) { MessageBox.Show("请选择要删除的字段!"); return; } foreach (ListViewItem item in listSelColumn.SelectedItems) { CStatItem StatItem = (CStatItem)item.Tag; m_Report.StatItemMgr.Delete(StatItem); listSelColumn.Items.Remove(item); } }
void GetData() { CReport Report = GetReport(); List <CBaseObject> lstObj = Report.StatItemMgr.GetList(); //按序号排序 List <CStatItem> sortObj = new List <CStatItem>(); foreach (CBaseObject obj in lstObj) { CStatItem StatItem = (CStatItem)obj; sortObj.Add(StatItem); } sortObj.Sort(); string sData = ""; foreach (CStatItem StatItem in sortObj) { string sTableName = "", sColumnName = ""; CTable table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(StatItem.FW_Table_id); if (table != null) { sTableName = table.Name; CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id); if (column != null) { sColumnName = column.Name; } } sData += string.Format("{{ \"id\": \"{0}\",\"FW_Table_id\":\"{1}\",\"TableName\":\"{2}\",\"FW_Column_id\":\"{3}\", \"ColumnName\":\"{4}\", \"StatType\":\"{5}\", \"StatTypeName\":\"{6}\", \"Order\":\"{7}\", \"OrderName\":\"{8}\" }}," , StatItem.Id , StatItem.FW_Table_id , sTableName , StatItem.FW_Column_id , sColumnName , (int)StatItem.StatType , StatItem.GetStatTypeName() , (int)StatItem.Order , StatItem.GetOrderName()); } sData = "[" + sData + "]"; string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}" , sData, lstObj.Count); Response.Write(sJson); }
void GetStatItemData() { List <CBaseObject> lstObj = m_Report.StatItemMgr.GetList(); string sData = ""; int iCount = 0; foreach (CBaseObject obj in lstObj) { CStatItem StatItem = (CStatItem)obj; string sTableName = "", sColumnName = ""; if (StatItem.ItemType == CStatItem.enumItemType.Field) { CTable table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(StatItem.FW_Table_id); if (table != null) { sTableName = table.Name; CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id); if (column != null) { sColumnName = column.Name; } } } else { sTableName = StatItem.Name; sColumnName = StatItem.Formula; } sData += string.Format("{{ \"id\": \"{0}\",\"FW_Table_id\":\"{1}\",\"TableName\":\"{2}\",\"FW_Column_id\":\"{3}\", \"ColumnName\":\"{4}\", \"StatType\":\"{5}\", \"Idx\":\"{6}\" }}," , StatItem.Id , StatItem.FW_Table_id , sTableName , StatItem.FW_Column_id , sColumnName , StatItem.StatType , StatItem.Idx); iCount++; } sData = sData.TrimEnd(",".ToCharArray()); sData = "[" + sData + "]"; string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}" , sData, iCount); Response.Write(sJson); }
private void btSet_Click(object sender, EventArgs e) { SelStatItem frm = new SelStatItem(); frm.m_Report = m_Report; if (frm.ShowDialog() != DialogResult.OK) { return; } dataGridStatItem.Rows.Clear(); foreach (CBaseObject obj in m_Report.StatItemMgr.GetList()) { CStatItem StatItem = (CStatItem)obj; string sTableName = "", sColumnName = ""; if (StatItem.ItemType == CStatItem.enumItemType.Field) { CTable table = (CTable)Program.Ctx.TableMgr.Find(StatItem.FW_Table_id); if (table != null) { sTableName = table.Name; CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id); if (column != null) { sColumnName = column.Name; } } } else { sTableName = StatItem.Name; sColumnName = StatItem.Formula; } dataGridStatItem.Rows.Add(1); DataGridViewRow item = dataGridStatItem.Rows[dataGridStatItem.Rows.Count - 1]; item.Cells[0].Value = sTableName; item.Cells[1].Value = sColumnName; //DataGridViewComboBoxCell cbCell = (DataGridViewComboBoxCell)item.Cells[2]; //cbCell.Value = "取数"; item.Cells[2].Value = "取数"; item.Cells[3].Value = "默认"; item.Tag = StatItem; } }
void comb_SelectedIndexChanged(object sender, EventArgs e) { ComboBox comb = sender as ComboBox; if (dataGridStatItem.SelectedCells.Count == 0) { return; } int nColIdx = dataGridStatItem.SelectedCells[0].ColumnIndex; int nRowIdx = dataGridStatItem.SelectedCells[0].RowIndex; if (nColIdx == 2) { if (comb.SelectedIndex == 0 || comb.SelectedIndex == 5) { return; } CStatItem StatItem = (CStatItem)dataGridStatItem.Rows[nRowIdx].Tag; if (StatItem.ItemType == CStatItem.enumItemType.Field) { CTable table = (CTable)Program.Ctx.TableMgr.Find(StatItem.FW_Table_id); if (table == null) { return; } CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id); if (column == null) { return; } if (column.ColType != ColumnType.int_type && column.ColType != ColumnType.long_type && column.ColType != ColumnType.numeric_type) { MessageBox.Show("非数值型指标!"); comb.SelectedIndex = 0; return; } } } }
private void btAdd_Click(object sender, EventArgs e) { if (listColumn.SelectedItems.Count == 0) { MessageBox.Show("请选择字段!"); return; } for (int i = 0; i < listColumn.SelectedItems.Count; i++) { CColumn column = (CColumn)listColumn.SelectedItems[i].Tag; bool bHas = false; for (int j = 0; j < listSelColumn.Items.Count; j++) { CStatItem SItem = (CStatItem)listSelColumn.Items[j].Tag; if (SItem.ItemType == CStatItem.enumItemType.Field && SItem.FW_Column_id == column.Id) { bHas = true; break; } } if (bHas) { continue; } CStatItem StatItem = new CStatItem(); StatItem.Ctx = Program.Ctx; StatItem.RPT_Report_id = m_Report.Id; StatItem.Name = column.Name; StatItem.FW_Table_id = column.FW_Table_id; StatItem.FW_Column_id = column.Id; m_Report.StatItemMgr.AddNew(StatItem); ListViewItem item = new ListViewItem(); item.Text = cbTable.SelectedItem.ToString(); item.SubItems.Add(column.Name); item.Tag = StatItem; listSelColumn.Items.Add(item); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("../Login.aspx"); Response.End(); } string B_Company_id = Request["B_Company_id"]; if (string.IsNullOrEmpty(B_Company_id)) { m_Company = Global.GetCtx(Session["TopCompany"].ToString()).CompanyMgr.FindTopCompany(); } else { m_Company = (CCompany)Global.GetCtx(Session["TopCompany"].ToString()).CompanyMgr.Find(new Guid(B_Company_id)); } string rptid = Request["rptid"]; if (string.IsNullOrEmpty(rptid)) { Response.End(); return; } m_Report = (CReport)m_Company.ReportMgr.Find(new Guid(rptid)); if (m_Report == null) //可能是新建的 { if (Session["AddReport"] == null) { Response.End(); return; } m_Report = (CReport)Session["AddReport"]; } if (m_Report.StatItemMgr.GetList().Count > 0) { CStatItem StatItem = (CStatItem)m_Report.StatItemMgr.GetList()[0]; m_Table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(StatItem.FW_Table_id); } if (Request.Params["Action"] == "GetColumnData") { GetColumnData(); Response.End(); } else if (Request.Params["Action"] == "GetStatItemData") { GetStatItemData(); Response.End(); } else if (Request.Params["Action"] == "AddStatItem") { AddStatItem(); Response.End(); } else if (Request.Params["Action"] == "DeleteStatItem") { DeleteStatItem(); Response.End(); } else if (Request.Params["Action"] == "AddFormula") { m_Report.StatItemMgr.Cancel(); Response.End(); } else if (Request.Params["Action"] == "Cancel") { AddFormula(); Response.End(); } else if (Request.Params["Action"] == "PostData") { PostData(); Response.End(); } }