Example #1
0
        private void gridView1_MouseDown(object sender, MouseEventArgs e)
        {
            Point p;
            int   ri, ci;

            GridHitInfo ghi = GridView.CalcHitInfo(e.Location);

            if (ghi.Column.AbsoluteIndex != 1)
            {
                return;
            }

            ri = ghi.RowHandle;
            QueryTable       qt       = Query.Tables[ri];
            ContextMenuStrip colPopup = new ContextMenuStrip();

            bool firstLabel = true;

            foreach (QueryColumn qc in qt.QueryColumns)
            {             // get list of allowed field labels/names for each table
                if (!QueryTableControl.QueryColumnVisible(qc) || !qc.MetaColumn.IsSearchable)
                {
                    continue;
                }
                if (firstLabel)
                {
                    firstLabel = false;
                }
                string            label = CriteriaEditor.GetUniqueColumnLabel(qc);
                ToolStripMenuItem mi    = new ToolStripMenuItem(label, null, new System.EventHandler(SelectedField_Click));
                mi.Tag = "T" + (ri + 1);
                colPopup.Items.Add(mi);
            }

            p = e.Location;

            GridViewInfo viewInfo = (GridViewInfo)GridView.GetViewInfo();

            GridCellInfo cellInfo = viewInfo.GetGridCellInfo(ghi.RowHandle, ghi.Column);

            if (cellInfo != null)
            {
                p = new Point(cellInfo.Bounds.Left, cellInfo.Bounds.Bottom);
            }

            colPopup.Show(Instance.TableGrid, p);
        }