Пример #1
0
        /// <summary>
        /// Отобразить форму редактирования или просмотра таблицы срезов
        /// </summary>
        public static void Show(string directory, string tableName, bool editMode, Log errLog)
        {
            if (string.IsNullOrEmpty(directory))
            {
                throw new ArgumentException("directory");
            }
            if (string.IsNullOrEmpty(tableName))
            {
                throw new ArgumentException("tableName");
            }
            if (errLog == null)
            {
                throw new ArgumentNullException("errLog");
            }

            SrezAdapter srezAdapter = new SrezAdapter();

            srezAdapter.Directory = directory;
            srezAdapter.TableName = tableName;
            SrezTable srezTable = new SrezTable();

            if (LoadSrezTable(srezAdapter, errLog, ref srezTable))
            {
                FrmSrezTableEdit frmSrezTableEdit = new FrmSrezTableEdit();
                frmSrezTableEdit.errLog      = errLog;
                frmSrezTableEdit.srezAdapter = srezAdapter;
                frmSrezTableEdit.srezTable   = srezTable;
                frmSrezTableEdit.editMode    = editMode;
                frmSrezTableEdit.ShowDialog();
            }
        }
Пример #2
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public SrezTableCache(DateTime date)
 {
     AccessDT        = DateTime.Now;
     Date            = date;
     SrezTable       = new SrezTable();
     SrezTableCopy   = new SrezTable();
     SrezAdapter     = new SrezAdapter();
     SrezCopyAdapter = new SrezAdapter();
 }
Пример #3
0
        private bool editMode;           // режим редактирования


        /// <summary>
        /// Конструктор
        /// </summary>
        private FrmSrezTableEdit()
        {
            InitializeComponent();
            errLog      = null;
            srezAdapter = null;
            srezTable   = null;
            dataTable1  = null;
            dataTable2  = null;
            selSrez     = null;
            editMode    = false;
        }
Пример #4
0
        private void btnRefresh_Click(object sender, EventArgs e)
        {
            // перезагрузка таблицы
            SrezTable newSrezTable = new SrezTable();

            if (LoadSrezTable(srezAdapter, errLog, ref newSrezTable))
            {
                srezTable = newSrezTable;
                FillDataTable1();
                try { dataTable2.DefaultView.RowFilter = txtFilter.Text; }
                catch { txtFilter.Text = ""; }
            }
        }
Пример #5
0
        /// <summary>
        /// Initializes a new instance of the class.
        /// </summary>
        public FrmSnapshotTable(Log errLog)
            : this()
        {
            this.errLog = errLog ?? throw new ArgumentNullException("errLog");
            srezAdapter = new SrezAdapter();

            srezTable  = new SrezTable();
            dataTable1 = null;
            dataTable2 = null;
            selSrez    = null;

            FileName  = "";
            AllowEdit = false;
        }
Пример #6
0
        private void btnRefresh_Click(object sender, EventArgs e)
        {
            // reload snapshots
            SrezTable newSrezTable = new SrezTable();

            if (LoadSnapshotTable(newSrezTable))
            {
                srezTable = newSrezTable;
                FillDataTable1();

                try { dataTable2.DefaultView.RowFilter = txtFilter.Text; }
                catch { txtFilter.Text = ""; }
            }
        }
Пример #7
0
 /// <summary>
 /// Loads the snapshot table.
 /// </summary>
 private bool LoadSnapshotTable(SrezTable table)
 {
     try
     {
         srezAdapter.FileName = FileName;
         srezAdapter.Fill(table);
         return(true);
     }
     catch (Exception ex)
     {
         errLog.WriteException(ex, ServerShellPhrases.LoadSnapshotTableError);
         ScadaUiUtils.ShowError(ServerShellPhrases.LoadSnapshotTableError + ": " + ex.Message);
         return(false);
     }
 }
Пример #8
0
        private void btnOpen_Click(object sender, EventArgs e)
        {
            try
            {
                if (rbSnapshot.Checked)
                {
                    dataTable = new DataTable("SrezTable");
                    srezTable = new SrezTable();
                    SrezAdapter sa = new SrezAdapter();
                    sa.FileName = txtFileName.Text;
                    sa.Fill(dataTable);
                    sa.Fill(srezTable);
                    dataTable.RowChanged += DataTable_RowChanged;
                    dataTable.Columns["DateTime"].ReadOnly = true;
                    dataTable.Columns["CnlNum"].ReadOnly   = true;
                }
                else if (rbEvent.Checked)
                {
                    dataTable = new DataTable("EventTable");
                    srezTable = null;
                    EventAdapter ea = new EventAdapter();
                    ea.FileName = txtFileName.Text;
                    ea.Fill(dataTable);
                }
                else // rbBase.Checked
                {
                    dataTable = new DataTable("BaseTable");
                    srezTable = null;
                    BaseAdapter ba = new BaseAdapter();
                    ba.FileName = txtFileName.Text;
                    ba.Fill(dataTable, true);
                }

                dataTable.DefaultView.AllowNew  = !rbSnapshot.Checked;
                dataTable.DefaultView.AllowEdit = true;
                dataGridView.DataSource         = dataTable;
            }
            catch (Exception ex)
            {
                dataTable = null;
                ScadaUiUtils.ShowError(ex.Message);
            }
            finally
            {
                ShowRecordCount();
            }
        }
Пример #9
0
 /// <summary>
 /// Download the slices table
 /// </summary>
 private static bool LoadSrezTable(SrezAdapter srezAdapter, Log errLog, ref SrezTable srezTable)
 {
     try {
         srezAdapter.Fill(srezTable);
         return(true);
     } catch (Exception ex) {
         string errMsg = AppPhrases.LoadSrezTableError + ":\r\n" + ex.Message;
         if (errLog != null)
         {
             errLog.WriteAction(errMsg, Log.ActTypes.Exception);
         }
         ScadaUiUtils.ShowError(errMsg);
         return(false);
     } finally {
         Cursor.Current = Cursors.Default;
     }
 }
Пример #10
0
            /// <summary>
            /// 填写切片表
            /// </summary>
            public static void FillSrezTable(SrezTable srezTable, SrezAdapter srezAdapter)
            {
                string fileName = srezAdapter.FileName;

                if (File.Exists(fileName))
                {
                    // 确定切片表文件的最后修改时间
                    DateTime fileModTime = File.GetLastWriteTime(fileName);

                    // 如果文件已更改,则加载数据
                    if (srezTable.FileModTime != fileModTime)
                    {
                        srezAdapter.Fill(srezTable);
                        srezTable.FileModTime = fileModTime;
                    }
                }
                else
                {
                    srezTable.Clear();
                }
            }
Пример #11
0
            /// <summary>
            /// Заполнить таблицу срезов
            /// </summary>
            public static void FillSrezTable(SrezTable srezTable, SrezAdapter srezAdapter)
            {
                string fileName = srezAdapter.FileName;

                if (File.Exists(fileName))
                {
                    // определение времени последнего изменения файла таблицы срезов
                    DateTime fileModTime = File.GetLastWriteTime(fileName);

                    // загрузка данных, если файл был изменён
                    if (srezTable.FileModTime != fileModTime)
                    {
                        srezAdapter.Fill(srezTable);
                        srezTable.FileModTime = fileModTime;
                    }
                }
                else
                {
                    srezTable.Clear();
                }
            }
Пример #12
0
 public FrmMain()
 {
     InitializeComponent();
     dataTable = null;
     srezTable = null;
 }