Пример #1
0
 private static void dataGridView_KeyDown(object sender, KeyEventArgs e)
 {
     DevExpress.XtraGrid.Views.Grid.GridView dataGridView = sender as DevExpress.XtraGrid.Views.Grid.GridView;
     if (e.KeyCode == Keys.Enter)
     {
         if (dataGridView != null && dataGridView.SelectedRowsCount > 0)
         {
             if (dataGridView.Tag == null || !(dataGridView.Tag is EventHandler))
             {
                 return;
             }
             EventHandler eventHandle = dataGridView.Tag as EventHandler;
             if (eventHandle != null)
             {
                 //if (multiSelect)
                 //{
                 //    //List<int> selectedIndexes = new List<int>();
                 //    //foreach (DataGridViewCell cell in dataGridView.SelectedCells)
                 //    //{
                 //    //    selectedIndexes.Add(_showListItems[cell.RowIndex].Index);
                 //    //}
                 //    //selectedIndexes.Reverse();
                 //    //eventHandle(selectedIndexes.ToArray(), null);
                 //}
                 //else
                 {
                     eventHandle(dataGridView.GetDataRow(dataGridView.GetSelectedRows()[0]), null);
                 }
             }
             dataGridView.KeyPress -= dataGridView_KeyPress;
             dataGridView.KeyDown  -= dataGridView_KeyDown;
             if (dataGridView.GridControl.Parent != null && dataGridView.GridControl.Parent is DevExpress.XtraEditors.XtraForm)
             {
                 (dataGridView.GridControl.Parent as DevExpress.XtraEditors.XtraForm).Close();
             }
             //dataGridView.GridControl.Dispose();
             dataGridView.Dispose();
         }
     }
     else if (e.KeyCode == Keys.Escape)
     {
         dataGridView.KeyPress -= dataGridView_KeyPress;
         dataGridView.KeyDown  -= dataGridView_KeyDown;
         if (dataGridView.GridControl.Parent != null && dataGridView.GridControl.Parent is DevExpress.XtraEditors.XtraForm)
         {
             (dataGridView.GridControl.Parent as DevExpress.XtraEditors.XtraForm).Close();
         }
         dataGridView.GridControl.Dispose();
         dataGridView.Dispose();
         if (_callControl != null)
         {
             _callControl.Focus();
         }
     }
 }
Пример #2
0
 /// <summary>
 /// Clean up any resources being used.
 /// </summary>
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (components != null)
         {
             components.Dispose();
         }
         if (gridView1 != null)
         {
             gridView1.Dispose();
             gridView1 = null;
         }
         if (colCompanyName != null)
         {
             colCompanyName.Dispose();
             colCompanyName = null;
         }
     }
     base.Dispose(disposing);
 }
Пример #3
0
        private static void ShowDevGridView(DataTable dataTable, string displayName, Control parent, Point point, Size size, EventHandler eventHandle, bool multiSelect, bool autoCalPoint, DataGridViewCellPaintingEventHandler cellPaintingEventHandle, ContextMenuForm contextMenuForm)
        {
            _callControl = parent;
            DevExpress.XtraGrid.GridControl         gridControl  = new DevExpress.XtraGrid.GridControl();
            DevExpress.XtraGrid.Views.Grid.GridView dataGridView = new DevExpress.XtraGrid.Views.Grid.GridView();
            gridControl.MainView = dataGridView;
            dataGridView.OptionsView.ShowColumnHeaders = false;
            dataGridView.OptionsView.ShowGroupPanel    = false;
            dataGridView.OptionsView.ShowIndicator     = false;
            //dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
            //dataGridView.ColumnHeadersHeight = 18;
            //dataGridView.BackgroundColor = dataGridView.DefaultCellStyle.BackColor;
            //dataGridView.CellPainting += cellPaintingEventHandle;
            //dataGridView.CellPainting += new DataGridViewCellPaintingEventHandler(dataGridView_CellPainting);
            //dataGridView.GridColor = dataGridView.BackgroundColor;
            dataGridView.KeyPress += new KeyPressEventHandler(dataGridView_KeyPress);
            dataGridView.OptionsBehavior.ReadOnly = true;
            dataGridView.Tag = eventHandle;
            //DevExpress.XtraGrid.Columns.GridColumn column = dataGridView.Columns.Add();
            //column.FieldName =
            //"字典选择器", "字典选择器");
            //dataGridView.AllowUserToResizeRows = false;
            //dataGridView.AllowUserToResizeColumns = false;
            //dataGridView.ScrollBars = ScrollBars.Vertical;
            //dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //dataGridView.Cursor = Cursors.Hand;
            string[] displayNames = null;
            string   ddd          = displayName;

            if (displayName != null)
            {
                displayNames = displayName.Split(new char[] { ',', ';' });
                for (int i = 0; i < displayNames.Length; i++)
                {
                    DevExpress.XtraGrid.Columns.GridColumn column = dataGridView.Columns.Add();
                    column.FieldName = displayNames[i];
                    column.OptionsColumn.AllowEdit       = false;
                    column.OptionsFilter.AllowAutoFilter = false;
                    column.OptionsFilter.AllowFilter     = false;
                    column.Visible      = true;
                    column.VisibleIndex = 0;
                    if (i == 0)
                    {
                        ddd = displayNames[i];
                    }
                }
            }
            _displayNames = displayNames;
            SetDataGridViewList(dataGridView, TransTable(dataTable, ddd));
            //dataGridView.Resize += new EventHandler(delegate(object sender1, EventArgs e1)
            //{
            //    for (int i = 0; i < dataGridView.Columns.Count - 1; i++)
            //    {
            //        dataGridView.Columns[i].Width = 120;
            //    }
            //    int width = dataGridView.Width - 120 * (dataGridView.Columns.Count - 1);
            //    if (width < 1)
            //    {
            //        dataGridView.Columns[dataGridView.Columns.Count - 1].Visible = false;
            //    }
            //    else
            //    {
            //        dataGridView.Columns[dataGridView.Columns.Count - 1].Width = width;
            //    }
            //});
            //dataGridView.CellDoubleClick += new DataGridViewCellEventHandler(delegate(object sender, DataGridViewCellEventArgs e)
            //{
            //    if (dataGridView.CurrentRow != null && dataGridView.CurrentRow.Index >= 0)
            //    {
            //        if (eventHandle != null)
            //        {
            //            if (multiSelect)
            //            {
            //                List<int> selectedIndexes = new List<int>();
            //                foreach (DataGridViewCell cell in dataGridView.SelectedCells)
            //                {
            //                    selectedIndexes.Add(_showListItems[cell.RowIndex].Index);
            //                }
            //                selectedIndexes.Reverse();
            //                eventHandle(selectedIndexes.ToArray(), null);
            //                if (dataGridView.Parent != null && dataGridView.Parent is DevExpress.XtraEditors.XtraForm)
            //                {
            //                    (dataGridView.Parent as DevExpress.XtraEditors.XtraForm).Close();
            //                }
            //                dataGridView.Dispose();
            //            }
            //        }
            //    }
            //});
            dataGridView.KeyDown += new KeyEventHandler(dataGridView_KeyDown);
            if (!multiSelect)
            {
                //dataGridView.MouseMove += new MouseEventHandler(delegate(object sender, MouseEventArgs e)
                //{
                //    int rowIndex = dataGridView.get .HitTest(e.X, e.Y).RowIndex;
                //    if (rowIndex >= 0)
                //    {
                //        dataGridView.CurrentCell = dataGridView.Rows[rowIndex].Cells[0];
                //    }
                //});
                //dataGridView.CellClick += new DataGridViewCellEventHandler(delegate(object sender, DataGridViewCellEventArgs e)
                dataGridView.RowCellClick += new DevExpress.XtraGrid.Views.Grid.RowCellClickEventHandler(delegate(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
                {
                    if (eventHandle != null)
                    {
                        eventHandle(dataGridView.GetDataRow(e.RowHandle), e);
                    }
                    try
                    {
                        if (gridControl.Parent != null && gridControl.Parent is DevExpress.XtraEditors.XtraForm)
                        {
                            (gridControl.Parent as DevExpress.XtraEditors.XtraForm).Close();
                        }
                        dataGridView.Dispose();
                        gridControl.Dispose();
                    }
                    catch
                    {
                    }
                });
            }
            if (size.Width < 100)
            {
                size.Width = 100;
            }
            //dataGridView.CellMouseDown += new DataGridViewCellMouseEventHandler(dataGridView_CellMouseDown);
            //dataGridView.CellMouseMove += new DataGridViewCellMouseEventHandler(dataGridView_CellMouseMove);
            //dataGridView.CellMouseUp += new DataGridViewCellMouseEventHandler(dataGridView_CellMouseUp);

            DevExpress.XtraEditors.XtraForm form = new DevExpress.XtraEditors.XtraForm();
            form.TopMost       = true;
            form.StartPosition = FormStartPosition.Manual;
            form.Location      = parent.PointToScreen(point);
            form.Size          = size;
            if (parent != null && !(parent is DataGridView))
            {
                form.Width = parent.Width;
            }
            form.Controls.Add(gridControl);
            gridControl.Dock     = DockStyle.Fill;
            form.Deactivate     += new EventHandler(form_Deactivate);
            form.FormBorderStyle = FormBorderStyle.None;
            if (form.Bottom > Screen.PrimaryScreen.Bounds.Height)
            {
                if (form.Top >= form.Height)
                {
                    form.Top -= form.Height;
                }
                else
                {
                    form.Top = 0;
                }
            }
            form.Width = size.Width;
            form.Show();
        }