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_VoltageID, typeof(Int64)); dataTable.Columns.Add(CS_StationID); dataTable.Columns.Add(CS_StationName, typeof(string)); //dataTable.Columns.Add(CS_Voltage, 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 <CEntityVoltage> tmpVoltages = m_proxyVoltage.GetPageData(i + 1); foreach (CEntityVoltage voltage in tmpVoltages) { // 赋值到dataTable中去 DataRow row = dataTable.NewRow(); // row[CS_VoltageID] = voltage.VoltageID; row[CS_StationID] = voltage.StationID; row[CS_StationName] = CDBDataMgr.Instance.GetStationById(voltage.StationID).StationName; //row[CS_Voltage] = voltage.Voltage; row[CS_TimeCollected] = voltage.TimeCollect; row[CS_TimeReceived] = voltage.TimeRecieved; row[CS_MsgType] = CEnumHelper.MessageTypeToUIStr(voltage.MessageType); row[CS_ChannelType] = CEnumHelper.ChannelTypeToUIStr(voltage.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 }
public bool SetFilter(string iStationId, DateTime timeStart, DateTime timeEnd, bool TimeSelect) { bool result = false; m_annotation.Visible = false; base.ClearAllDatas(); m_proxyVoltage.SetFilter(iStationId, timeStart, timeEnd, TimeSelect); if (-1 == m_proxyVoltage.GetPageCount()) { // 查询失败 // MessageBox.Show("数据库忙,查询失败,请稍后再试!"); return(result); } else { int rowcount = m_proxyVoltage.GetRowCount(); if (rowcount > CI_Chart_Max_Count) { // 数据量太大,退出绘图 MessageBox.Show("查询结果集太大,自动退出绘图"); return(result); } // 并查询数据,显示第一页 int iTotalPage = m_proxyVoltage.GetPageCount(); for (int i = 0; i < iTotalPage; ++i) { // 查询所有的数据 result = this.AddVoltages(m_proxyVoltage.GetPageData(i + 1)); if (result == false) { MessageBox.Show("数据超限,自动退出绘图"); } } return(result); } }
// 保存当前的所有修改 public override bool DoSave() { if (this.IsCurrentCellInEditMode) { //MessageBox.Show("请完成当前的编辑"); this.EndEdit(); //return false; } //base.DoSave(); // 更新 GetUpdatedData(); if (m_listAdded.Count > 0 || m_listUpdated.Count > 0 || m_listDeleteVoltages_StationId.Count > 0) { bool result = true; // 新增 if (m_listAdded.Count > 0) { m_proxyVoltage.AddNewRows_1(m_listAdded); m_listAdded.Clear(); } // 修改 if (m_listUpdated.Count > 0) { result = result && m_proxyVoltage.UpdateRows(m_listUpdated); m_listUpdated.Clear(); } // 删除 if (m_listDeleteVoltages_StationId.Count > 0) { result = result && m_proxyVoltage.DeleteRows(m_listDeleteVoltages_StationId, m_listDeleteVoltages_StationDate); m_listDeleteVoltage.Clear(); } if (!result) { // 保存失败 return(false); } // 重新刷新界面 SetVoltage(m_proxyVoltage.GetPageData(base.m_iCurrentPage)); } else { } return(true); }
// 设置查询条件 public bool SetFilter(string strStationId, DateTime timeStart, DateTime timeEnd, bool TimeSelect) { // 清空所有状态 ClearAllState(); m_strStaionId = strStationId; m_dateTimeStart = timeStart; m_dateTimeEnd = timeEnd; m_proxyVoltage.SetFilter(strStationId, timeStart, timeEnd, TimeSelect); if (-1 == m_proxyVoltage.GetPageCount()) { MessageBox.Show("数据库忙,查询失败,请稍后再试!"); return(false); } else { // 并查询数据,显示第一页 this.OnMenuFirstPage(this, null); base.TotalPageCount = m_proxyVoltage.GetPageCount(); base.TotalRowCount = m_proxyVoltage.GetRowCount(); SetVoltage(m_proxyVoltage.GetPageData(1)); return(true); } }