public bool SetFilter(string iStationId, DateTime timeStart, DateTime timeEnd, bool TimeSelect) { m_annotation.Visible = false; ClearAllDatas(); m_proxyWaterFlow.SetFilter(iStationId, timeStart, timeEnd, TimeSelect); if (-1 == m_proxyWaterFlow.GetPageCount()) { // 查询失败 // MessageBox.Show("数据库忙,查询失败,请稍后再试!"); return(false); } else { // 并查询数据,显示第一页 m_dMaxWaterFlow = null; m_dMaxWaterStage = null; m_dMinWaterFlow = null; m_dMinWaterStage = null; int iTotalPage = m_proxyWaterFlow.GetPageCount(); int rowcount = m_proxyWaterFlow.GetRowCount(); if (rowcount > CI_Chart_Max_Count) { // 数据量太大,退出绘图 MessageBox.Show("查询结果集太大,自动退出绘图"); return(false); } for (int i = 0; i < iTotalPage; ++i) { // 查询所有的数据 this.AddWaters(m_proxyWaterFlow.GetPageData(i + 1)); } return(true); } }
// 保存数据 public override bool DoSave() { if (this.IsCurrentCellInEditMode) { //MessageBox.Show("请完成当前的编辑"); this.EndEdit(); //return false; } //base.DoSave(); // 更新 GetUpdatedData(); if (m_listAddedWater.Count > 0 || m_listUpdated.Count > 0 || m_listDeleteWaters_StationId.Count > 0) { bool result = true; // 增加 if (m_listAddedWater.Count > 0) { //直接添加,不需要等待1分钟 m_proxyWater.AddNewRows_1(m_listAddedWater); m_listAddedWater.Clear(); } // 修改 if (m_listUpdated.Count > 0) { result = result && m_proxyWater.UpdateRows(m_listUpdated); m_listUpdated.Clear(); } // 删除 if (m_listDeleteWaters_StationId.Count > 0) { result = result && m_proxyWater.DeleteRows(m_listDeleteWaters_StationId, m_listDeleteWaters_StationDate); m_listDeleteWaters.Clear(); } if (result) { //MessageBox.Show("保存成功,新增记录稍有延迟"); } else { // 保存失败 //MessageBox.Show("保存失败"); return(false); } SetWaters(m_proxyWater.GetPageData(base.m_iCurrentPage)); } else { //MessageBox.Show("没有任何修改,无需保存"); } return(true); }
// 设置查询条件 public bool SetFilter(string strStationId, DateTime timeStart, DateTime timeEnd, bool TimeSelect) { ClearAllState(); m_strStaionId = strStationId; m_dateTimeStart = timeStart; m_dateTimeEnd = timeEnd; m_proxyWater.SetFilter(strStationId, timeStart, timeEnd, TimeSelect); if (-1 == m_proxyWater.GetPageCount()) { // 查询失败 MessageBox.Show("数据库忙,查询失败,请稍后再试!"); return(false); } else { // 并查询数据,显示第一页 this.OnMenuFirstPage(this, null); base.TotalPageCount = m_proxyWater.GetPageCount(); base.TotalRowCount = m_proxyWater.GetRowCount(); SetWaters(m_proxyWater.GetPageData(1)); return(true); } }
private void EH_MI_ExportToExcel_Click(object sender, EventArgs e) { // 弹出对话框,并导出到Excel文件 SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*"; if (DialogResult.OK == dlg.ShowDialog()) { // 保存到Excel表格中 DataTable dataTable = new DataTable(); // dataTable.Columns.Add(CS_WaterID, typeof(Int64)); dataTable.Columns.Add(CS_StationID); dataTable.Columns.Add(CS_StationName, typeof(string)); dataTable.Columns.Add(CS_WaterStage, typeof(string)); dataTable.Columns.Add(CS_WaterFlow, typeof(string)); //可空吗?? dataTable.Columns.Add(CS_TimeCollected, typeof(DateTime)); dataTable.Columns.Add(CS_TimeReceived, typeof(DateTime)); dataTable.Columns.Add(CS_MsgType, typeof(string)); dataTable.Columns.Add(CS_ChannelType, typeof(string)); // 逐页读取数据 for (int i = 0; i < m_iTotalPage; ++i) { List <CEntityWater> tmpWaters = m_proxyWater.GetPageData(i + 1); foreach (CEntityWater water in tmpWaters) { // 赋值到dataTable中去 DataRow row = dataTable.NewRow(); // row[CS_WaterID] = water.WaterID; row[CS_StationID] = water.StationID; row[CS_StationName] = CDBDataMgr.Instance.GetStationById(water.StationID).StationName; if (water.WaterStage != -9999) { row[CS_WaterStage] = water.WaterStage; } else { row[CS_WaterStage] = ""; } if (water.WaterFlow != -9999) { row[CS_WaterFlow] = water.WaterFlow; } else { row[CS_WaterFlow] = ""; } row[CS_TimeCollected] = water.TimeCollect; row[CS_TimeReceived] = water.TimeRecieved; row[CS_MsgType] = CEnumHelper.MessageTypeToUIStr(water.MessageType); row[CS_ChannelType] = CEnumHelper.ChannelTypeToUIStr(water.ChannelType); dataTable.Rows.Add(row); } } // 显示提示框 CMessageBox box = new CMessageBox() { MessageInfo = "正在导出表格,请稍候" }; box.ShowDialog(this); if (CExcelExport.ExportToExcelWrapper(dataTable, dlg.FileName, "水位流量表")) { //box.Invoke((Action)delegate { box.Close(); }); box.CloseDialog(); MessageBox.Show(string.Format("导出成功,保存在文件\"{0}\"中", dlg.FileName)); } else { //box.Invoke((Action)delegate { box.Close(); }); box.CloseDialog(); MessageBox.Show("导出失败"); } }//end of if dialog okay }