Exemple #1
0
        private void ExchageTableItem(LogTable table, int firstIndex, int secondIndex)
        {
            LogTableItem lti = (LogTableItem)table.Columns[firstIndex].Clone();

            table.Columns[firstIndex].CopyFrom(table.Columns[secondIndex]);
            table.Columns[secondIndex].CopyFrom(lti);
        }
        private bool m_isUseCommand = true; //  加这个变量主要是UpdateLogTableItemValueCommand
                                            //  undoredo的时候都会给datagridview赋值,这时会引起
                                            //  CellValueChanged事件,又会加一个命令

        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0 || e.ColumnIndex == SelectIndex)
            {
                return;
            }

            if (!m_isUseCommand)
            {
                m_isUseCommand = true;
                return;
            }

            LogTableItem newItem = GetLogTableItemRow(e.RowIndex);

            string appGuid   = Convert.ToString(tvApps.SelectedNode.Parent.Tag);
            string tableGuid = Convert.ToString(tvApps.SelectedNode.Tag);

            UpdateLogTableItemValueCommand cmd = new UpdateLogTableItemValueCommand(appGuid, tableGuid, newItem);

            cmd.UndoDone += new UndoRedoEventHandler(UpdateGridViewContent);
            cmd.RedoDone += new UndoRedoEventHandler(UpdateGridViewContent);

            cmd.Execute();

            UpdatePreView();

            AddCommand(cmd);
        }
        private void SetRowContent(LogTable table, int rowIndex, bool isChecked)
        {
            LogTableItem item = GetLogTableItemRow(rowIndex);
            LogColumn    lc   = LogColumnService.Instance.GetLogColumn(item.LogColumnIndex);

            this.dataGridView1.Rows.RemoveAt(rowIndex);
            InsertRow(rowIndex, isChecked, item, lc);
        }
Exemple #4
0
        public UpdateLogTableItemValueCommand(string appGuid, string tableGuid, LogTableItem newValue)
        {
            m_appGuid   = appGuid;
            m_tableGuid = tableGuid;

            m_newValue = (LogTableItem)newValue.Clone();
            m_oldValue = (LogTableItem)AppService.Instance.GetAppTableItem(appGuid, tableGuid, newValue.LogColumnIndex).Clone();
        }
        private LogTableItem GetLogTableItemRow(int rowIndex)
        {
            LogTableItem newItem = LogTableItem.CreateNewLogTableItem(
                Convert.ToInt32(this.dataGridView1.Rows[rowIndex].Cells[LogColumnIndexIndex].Value),
                Convert.ToBoolean(this.dataGridView1.Rows[rowIndex].Cells[LogItemIsFilterIndex].Value));

            newItem.Visible  = Convert.ToBoolean(this.dataGridView1.Rows[rowIndex].Cells[LogColumnVisibleIndex].Value);
            newItem.NickName = Convert.ToString(this.dataGridView1.Rows[rowIndex].Cells[LogColumnNickNameIndex].Value);

            return(newItem);
        }
Exemple #6
0
            public static LogTableItemPlus ToLogTableItemPlus(LogTableItem t)
            {
                LogTableItemPlus p = new LogTableItemPlus();

                p.SeqIndex       = t.SeqIndex;
                p.LogColumnIndex = t.LogColumnIndex;
                p.IsFilterColumn = t.IsFilterColumn;
                p.NickName       = t.NickName;
                p.Visible        = t.Visible;

                return(p);
            }
        private void btnAddNew_Click(object sender, EventArgs e)
        {
            try
            {
                string appGuid   = Convert.ToString(tvApps.SelectedNode.Parent.Tag);
                string tableGuid = Convert.ToString(tvApps.SelectedNode.Tag);

                this.Cursor = Cursors.WaitCursor;

                List <Int32> lstExistingIndexes = new List <int>();
                foreach (DataGridViewRow dgvr in this.dataGridView1.Rows)
                {
                    lstExistingIndexes.Add(Convert.ToInt32(dgvr.Cells[LogColumnIndexIndex].Value));
                }

                frmEditItem fe = new frmEditItem(true, lstExistingIndexes);
                if (CGeneralFuncion.ShowWindow(this, fe, true) == System.Windows.Forms.DialogResult.OK)
                {
                    List <LogTableItem> lstSelectItems = new List <LogTableItem>();

                    foreach (int lcIndex in fe.SelectLogColumnIndex)
                    {
                        lstSelectItems.Add(LogTableItem.CreateNewLogTableItem(lcIndex));
                    }

                    if (lstSelectItems.Count > 0)
                    {
                        AddNewTableColumnsCommand cmd = new AddNewTableColumnsCommand(appGuid, tableGuid, lstSelectItems);
                        cmd.UndoDone += new UndoRedoEventHandler(RemoveTableRows);
                        cmd.RedoDone += new UndoRedoEventHandler(AddTableRows);

                        cmd.Execute();
                        AddCommand(cmd);
                        AddTableRows(lstSelectItems);
                        UpdatePreView();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("添加新的日志列失败,错误消息为:" + ex.Message);
            }

            finally
            {
                if (this.Cursor != Cursors.Default)
                {
                    this.Cursor = Cursors.Default;
                }
            }
        }
Exemple #8
0
        public bool UpdateTableItemValue(string appGuid, string tableGuid, LogTableItem item)
        {
            if (!m_existingApps.ContainsKey(appGuid))
            {
                throw new Exception("要更新的日志结构所属的应用程序不存在");
            }

            if (DBService.Instance.UpdateTableItemValue(appGuid, tableGuid, item))
            {
                m_existingApps[appGuid].GetTable(tableGuid).GetColumn(item.LogColumnIndex).CopyFrom(item);
                return(true);
            }

            return(false);
        }
        private void UpdateGridViewContent(LogTableItem item)
        {
            foreach (DataGridViewRow dgvr in this.dataGridView1.Rows)
            {
                if (Convert.ToInt32(dgvr.Cells[LogColumnIndexIndex].Value) == item.LogColumnIndex)
                {
                    m_isUseCommand = false;
                    dgvr.Cells[LogItemIsFilterIndex].Value   = item.IsFilterColumn;
                    dgvr.Cells[LogColumnNickNameIndex].Value = item.NickName;
                    dgvr.Cells[LogColumnVisibleIndex].Value  = item.Visible;
                    break;
                }
            }

            UpdatePreView();
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;

            try
            {
                List <LogTableItem> lstSelectedItems = new List <LogTableItem>();

                foreach (DataGridViewRow dgvr in this.dataGridView1.Rows)
                {
                    if (Convert.ToBoolean(dgvr.Cells[SelectIndex].Value))
                    {
                        lstSelectedItems.Add(LogTableItem.CreateNewLogTableItem(
                                                 Convert.ToInt32(dgvr.Cells[LogColumnIndexIndex].Value),
                                                 Convert.ToBoolean(dgvr.Cells[LogItemIsFilterIndex].Value)));
                    }
                }

                if (lstSelectedItems.Count <= 0)
                {
                    MessageBox.Show("请先勾选要删除的行");
                }

                string appGuid   = Convert.ToString(tvApps.SelectedNode.Parent.Tag);
                string tableGuid = Convert.ToString(tvApps.SelectedNode.Tag);

                RemoveTableColumnsCommand cmd = new RemoveTableColumnsCommand(appGuid, tableGuid, lstSelectedItems);
                cmd.UndoDone += new UndoRedoEventHandler(AddTableRows);
                cmd.RedoDone += new UndoRedoEventHandler(RemoveTableRows);

                cmd.Execute();

                AddCommand(cmd);
                RemoveTableRows(lstSelectedItems);
                UpdatePreView();
            }
            catch (Exception ex)
            {
                MessageBox.Show("删除日志列操作失败,错误消息为:" + ex.Message);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
 private void InsertRow(int rowIndex, bool isChecked, LogTableItem item, LogColumn lc)
 {
     this.dataGridView1.Rows.Insert(rowIndex, new object[] { isChecked, lc.Name, lc.Type, lc.Index, item.NickName, item.Visible, item.IsFilterColumn });
 }
 private void AddRow(LogTableItem item)
 {
     InsertRow(this.dataGridView1.Rows.Count, false, item, LogColumnService.Instance.GetLogColumn(item.LogColumnIndex));
 }
Exemple #13
0
 public bool UpdateTableItemValue(string appGuid, string tableGuid, LogTableItem item)
 {
     return(m_dbClient.UpdateTableItemValue(tableGuid, LogTypeConvert.ToLogTableItemPlus(item)));
 }