Beispiel #1
0
        private void AddField(DataGridViewColumn column, QueryConditionItem condition = null)
        {
            foreach (DataGridViewRow row in this.dgvFilter.Rows)
            {
                if (row.Cells["ColumnName"].Value.ToString() == column.Name)
                {
                    return;
                }
            }

            int rowIndex = this.dgvFilter.Rows.Add(column.Name);

            this.dgvFilter.Rows[rowIndex].Tag = condition;

            if (condition != null)
            {
                this.dgvFilter.Rows[rowIndex].Cells["Filter"].Value = condition.ToString();
            }
        }
Beispiel #2
0
        private void dgvFilter_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewColumn column = this.dgvFilter.Columns[e.ColumnIndex];

            if (column.Name == "Filter" && e.RowIndex > -1 && e.ColumnIndex > -1)
            {
                string columnName = this.dgvFilter.Rows[e.RowIndex].Cells["ColumnName"].Value.ToString();

                frmDataFilterCondition filterCondition = new frmDataFilterCondition()
                {
                    Column = this.Columns.FirstOrDefault(item => item.Name == columnName)
                };
                filterCondition.Condition = this.dgvFilter.Rows[e.RowIndex].Tag as QueryConditionItem;

                if (filterCondition.ShowDialog() == DialogResult.OK)
                {
                    QueryConditionItem condition = filterCondition.Condition;

                    this.dgvFilter.Rows[e.RowIndex].Tag = condition;

                    this.dgvFilter.Rows[e.RowIndex].Cells["Filter"].Value = condition.ToString();
                }
            }
        }