⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queryfrm.cs

📁 简单数据库
💻 CS
📖 第 1 页 / 共 4 页
字号:
                // Handle the Calender Cell
                DataGridView dg = (DataGridView)sender;
                int lastColumnIndex = dg.ColumnCount - 1;
                if (calenderFlag && cellIsUpdated)
                {
                    // last cell accessed was calender cell
                    // make datagridview readonly
                    dataGridViewQuery.ReadOnly = true;
                    calenderFlag = false;
                }
                else
                {
                    // last cell accessed wasn't Calender
                    // nothing to do
                }
                if (e.RowIndex > 0) // make sure end user updates only rows from line #1
                {
                    //to make sure previous cell is updated
                    bool previousCellIsUpdated = false;
                    if (0 < e.ColumnIndex)
                    {
                        if (this.dataGridViewQuery[e.ColumnIndex - 1, e.RowIndex].Value != null && this.dataGridViewQuery[e.ColumnIndex - 1, e.RowIndex].Value.ToString() != string.Empty)
                            previousCellIsUpdated = true;
                    }
                    if (0 == e.ColumnIndex)
                    {
                        if (this.dataGridViewQuery[lastColumnIndex, e.RowIndex - 1].Value != null && this.dataGridViewQuery[lastColumnIndex, e.RowIndex - 1].Value.ToString() != string.Empty)
                            previousCellIsUpdated = true;
                    }
                    // Allow User to Edit only if the previous cell is updated
                    if (previousCellIsUpdated)
                    {
                        if (cell_list != null)
                        {
                            bool cellClickedBefore = false;
                            foreach (DataGVCell dataGVCell in cell_list)
                            {
                                if (dataGVCell._rowIndex == e.RowIndex || dataGVCell._columnIndex == e.ColumnIndex)
                                {
                                    if (dataGVCell._cellClickedBefore)
                                    {
                                        cellClickedBefore = true;
                                        break;
                                    }
                                }
                            }
                            if (dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].EditType.Name.Equals("DataGridViewTextBoxEditingControl") || dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].EditType.Name.Equals("CCalendarEditingControl") || dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].EditType.Name.Equals("CDataGridViewTreeViewComboBoxEditingControl") || cellClickedBefore)
                            {
                                #region commented
                                /*
                                // Checked for ComboBox
                                #region ComboBox
                                if (0 == e.ColumnIndex || 1 == e.ColumnIndex)
                                {
                                    CDataGridViewComboBoxCell cell = new CDataGridViewComboBoxCell();

                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;
                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;
                                    dataGridViewQuery.ReadOnly = false;
                                    cell.Items.Clear();
                                    cell.Items.Add("And");
                                    cell.Items.Add("Or");
                                    cellIsUpdated = false;
                                    // When Cell_Clicked was revisited
                                    foreach (DataGVCell dataGVCell in cell_list)
                                    {
                                        if (dataGVCell._cellValue.Equals(""))
                                        {
                                            dataGVCell._cellClickedBefore = false;
                                            break;
                                        }
                                    }
                                }
                                #endregion ComboBox
                                // Checked for Calender
                                #region Calender
                                if (3 == e.ColumnIndex)
                                {
                                    CCalenderCell cell = new CCalenderCell();
                                    cell.Value = DateTime.Now;

                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;
                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;
                                    dataGridViewQuery.ReadOnly = false;
                                    calenderFlag = true;
                                    cellIsUpdated = false;
                                    foreach (DataGVCell dataGVCell in cell_list)
                                    {
                                        if (dataGVCell._columnIndex == e.ColumnIndex && dataGVCell._rowIndex == e.RowIndex)
                                        {
                                            dataGVCell._isUpdated = true;                                            
                                            dataGVCell._cellValue = cell.Value.ToString();
                                            cellIsUpdated = true;
                                            break;
                                        }
                                    }
                                }
                                #endregion Calender
                                // Checked for TreeViewDropDownList
                                #region TreeViewDropDownList
                                if (2 == e.ColumnIndex)
                                {
                                    CDataGridViewTreeViewComboBoxCell cell = new CDataGridViewTreeViewComboBoxCell();


                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;
                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;
                                    dataGridViewQuery.ReadOnly = false;
                                    cell.Add("WorkSpace.xml");
                                    
                                    cellIsUpdated = false;
                                    foreach (DataGVCell dataGVCell in cell_list)
                                    {
                                        if (dataGVCell._cellValue.Equals(""))
                                        {
                                            dataGVCell._cellClickedBefore = false;
                                            break;
                                        }
                                    }
                                }
                                #endregion TreeViewDropDownList
                                */
                                #endregion commented
                                #region Columns of the Grid
                                if (3 == e.ColumnIndex)
                                {
                                    // Check if it is DateTime
                                    
                                    string columnNameString = dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex - 2].Value.ToString();

                                    System.Type type = null;
                                    type = objDataColumns._columnNameType[columnNameString];

                                    if (type.Name.Equals("DateTime"))
                                    {
                                        //Show Calender
                                        CCalenderCell cell = new CCalenderCell();
                                        cell.Value = DateTime.Now;

                                        dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;
                                        dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;
                                        dataGridViewQuery.ReadOnly = false;
                                        calenderFlag = true;
                                        cellIsUpdated = false;

                                        foreach (DataGVCell dataGVCell in cell_list)
                                        {
                                            if (dataGVCell._cellValue.Equals(""))
                                            {
                                                dataGVCell._cellClickedBefore = false;
                                                break;
                                            }
                                        }
                                    }
                                    if (type.Name.Equals("Int32") || type.Name.Equals("String"))
                                    {
                                        if (columnNameString.Equals("WorkSpace"))
                                        {
                                            CDataGridViewTreeViewComboBoxCell cell = new CDataGridViewTreeViewComboBoxCell();

                                            dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;
                                            dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;
                                            dataGridViewQuery.ReadOnly = false;
                                            cell.Add("WorkSpace.xml");
                                            cellIsUpdated = false;
                                            
                                            foreach (DataGVCell dataGVCell in cell_list)
                                            {
                                                if (dataGVCell._cellValue.Equals(""))
                                                {
                                                    dataGVCell._cellClickedBefore = false;
                                                    break;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            //Else Column Values
                                            CDataGridViewComboBoxCell cell = new CDataGridViewComboBoxCell();

                                            dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;
                                            dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;
                                            dataGridViewQuery.ReadOnly = false;
                                            cell.Items.Clear();

                                            for (int c = 0; c < objDataColumns.column_collection.Count; c++)
                                            {
                                                if (objDataColumns.column_collection[c].ColumnName.Equals(columnNameString))
                                                {
                                                    for (int v = 0; v < objDataColumns.column_collection[c]._columnValues.Count; v++)
                                                    {
                                                        cell.Items.Add(objDataColumns.column_collection[c]._columnValues[v].ToString());
                                                    }
                                                }
                                            }                                                                                     
                                            
                                            cellIsUpdated = false;
                                            // When Cell_Clicked was revisited
                                            foreach (DataGVCell dataGVCell in cell_list)
                                            {
                                                if (dataGVCell._cellValue.Equals(""))
                                                {
                                                    dataGVCell._cellClickedBefore = false;
                                                    break;
                                                }
                                            } 
                                        }
                                    }
                                }
                                if (2 == e.ColumnIndex)
                                {
                                    // Operator
                                    string columnNameString = dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Value.ToString();
                                    CDataGridViewComboBoxCell cell = new CDataGridViewComboBoxCell();
                                    System.Type type = null;

                                    type = objDataColumns._columnNameType[columnNameString];
                                    
                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;
                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;
                                    dataGridViewQuery.ReadOnly = false;
                                    
                                    cell.Items.Clear();
                                    if (type.Name.Equals("Int32"))
                                    {
                                        for (int n = 0; n < _operators.numericOperator.Count; n++)
                                            cell.Items.Add(_operators.numericOperator[n].ToString());
                                    }
                                    else
                                    {
                                        for (int s = 0; s < _operators.stringOperator.Count; s++)
                                            cell.Items.Add(_operators.stringOperator[s].ToString());
                                    }
                                                                                                         
                                    cellIsUpdated = false;
                                    // When Cell_Clicked was revisited
                                    foreach (DataGVCell dataGVCell in cell_list)
                                    {
                                        if (dataGVCell._cellValue.Equals(""))
                                        {
                                            dataGVCell._cellClickedBefore = false;
                                            break;
                                        }
                                    }

                                }
                                if (1 == e.ColumnIndex)
                                {
                                    CDataGridViewComboBoxCell cell = new CDataGridViewComboBoxCell();

                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;
                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;
                                    dataGridViewQuery.ReadOnly = false;
                                    cell.Items.Clear();

                                    for (int c = 0; c < objDataColumns.column_collection.Count; c++)
                                    {
                                        cell.Items.Add(objDataColumns.column_collection[c].ColumnName);
                                    } 
                                    cellIsUpdated = false;
                                    // When Cell_Clicked was revisited
                                    foreach (DataGVCell dataGVCell in cell_list)
                                    {
                                        if (dataGVCell._cellValue.Equals(""))
                                        {
                                            dataGVCell._cellClickedBefore = false;
                                            break;
                                        }
                                    }

                                }
                                if (0 == e.ColumnIndex)
                                {                                    
                                    CDataGridViewComboBoxCell cell = new CDataGridViewComboBoxCell();

                                    dataGridViewQuery.Rows[e.RowIndex].Cells[e.ColumnIndex] = cell;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -