private void InitializeComponent() { // Create the form and its controls. this.myDataGridTableStyle = new DataGridTableStyle(); this.myDataGridTextBox = new DataGridTextBox(); this.myTextBoxColumn = new DataGridTextBoxColumn(); this.myDataGrid = new DataGrid(); this.ClientSize = new Size(292, 300); this.Name = "DataGridForm"; this.Text = "Testing DataGridTextBox"; this.MaximizeBox = false; myDataGridTextBox.Location = new Point(20, 5); myDataGridTextBox.Size = new Size(100, 65); myDataGrid.Location = new Point(20, 70); myDataGrid.Size = new Size(250, 170); myDataGrid.CaptionText = "MS DataGrid Control"; this.Controls.Add(myDataGrid); this.Controls.Add(myDataGridTextBox); // Create 'DataTableStyle' for the DataGrid. AddCustomDataTableStyle(); // Set the properties of DataGridTextBox. myDataGridTextBox.ScrollBars = ScrollBars.Vertical; myDataGridTextBox.ForeColor = Color.Red; myDataGridTextBox.Multiline = true; myDataGridTextBox.WordWrap = true; }
public void TestUpdateUI() { MakeTable(false); BindingContext bc = new BindingContext(); DataGrid dg = new DataGrid(); dg.BindingContext = bc; dg.TableStyles.Add(tableStyle); dg.DataSource = table; CurrencyManager cm = (CurrencyManager)bc[view]; ColumnPoker column = nameColumnStyle; DataGridTextBox tb = (DataGridTextBox)column.TextBox; Assert.AreEqual("", tb.Text, "1"); Assert.IsTrue(tb.IsInEditOrNavigateMode, "2"); Assert.AreEqual(Point.Empty, tb.Location, "3"); column.DoUpdateUI(cm, 0, "hi there"); Assert.AreEqual(Point.Empty, tb.Location, "4"); Assert.AreEqual("hi there", tb.Text, "5"); Assert.IsFalse(tb.ReadOnly, "6"); Assert.IsTrue(tb.IsInEditOrNavigateMode, "7"); DataRowView v = (DataRowView)cm.Current; Assert.AreEqual("Miguel", v[0], "8"); }
private void dgv_prifiles_CellClick(object sender, DataGridViewCellEventArgs e) { try { if (dgv_prifiles.CurrentCell.ColumnIndex == 1) { return; } DataGridViewComboBoxCell dcombo = new DataGridViewComboBoxCell(); DataGridTextBox tbx = new DataGridTextBox(); for (int i = 0; i < _profilesString.Count; i++) { dcombo.Items.Add(_profilesString[i]); } dgv_prifiles.Rows[dgv_prifiles.CurrentRow.Index].Cells[0] = dcombo; dcombo.ReadOnly = false; dgv_prifiles.Rows[dgv_prifiles.CurrentRow.Index].Cells[1].Value = "0"; } catch (Exception ex) { MessageBox.Show(ex.Message, ex.Source); } }
public void TestAbort_DifferentRow() { MakeTable(false); BindingContext bc = new BindingContext(); DataGrid dg = new DataGrid(); dg.BindingContext = bc; dg.TableStyles.Add(tableStyle); dg.DataSource = table; CurrencyManager cm = (CurrencyManager)bc[view]; ColumnPoker column = nameColumnStyle; DataGridTextBox tb = (DataGridTextBox)column.TextBox; Assert.AreEqual("", tb.Text, "1"); Assert.IsTrue(tb.IsInEditOrNavigateMode, "1.5"); column.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "hi there", true); Assert.AreEqual("hi there", tb.Text, "2"); Assert.AreEqual(new Rectangle(new Point(2, 2), new Size(97, 97)), tb.Bounds, "3"); Assert.IsFalse(tb.ReadOnly, "4"); Assert.IsFalse(tb.IsInEditOrNavigateMode, "5"); tb.Text = "yo"; column.DoAbort(1); Assert.IsTrue(tb.IsInEditOrNavigateMode, "6"); DataRowView v = (DataRowView)cm.Current; Assert.AreEqual("Miguel", v[0], "7"); }
public void TestCommit2() { MakeTable(false); BindingContext bc = new BindingContext(); DataGrid dg = new DataGrid(); dg.BindingContext = bc; dg.TableStyles.Add(tableStyle); dg.DataSource = table; CurrencyManager cm = (CurrencyManager)bc[view]; ColumnPoker column = nameColumnStyle; DataGridTextBox tb = (DataGridTextBox)column.TextBox; Assert.AreEqual("", tb.Text, "1"); Assert.IsTrue(tb.IsInEditOrNavigateMode, "1.5"); column.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "hi there", true); Assert.AreEqual("hi there", tb.Text, "2"); Assert.AreEqual(new Rectangle(new Point(2, 2), new Size(97, 97)), tb.Bounds, "3"); Assert.IsFalse(tb.ReadOnly, "4"); Assert.IsFalse(tb.IsInEditOrNavigateMode, "5"); tb.Text = "yo"; column.DoEndEdit(); Assert.IsTrue(tb.IsInEditOrNavigateMode, "5.5"); bool rv = column.DoCommit(cm, cm.Position); Assert.IsTrue(rv, "6"); DataRowView v = (DataRowView)cm.Current; Assert.AreEqual("Miguel", v[0], "7"); /* try it again with the DoCommit before the DoEndEdit */ cm.Position = 0; column.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "hi there", true); Assert.AreEqual("hi there", tb.Text, "8"); Assert.AreEqual(new Rectangle(new Point(2, 2), new Size(97, 97)), tb.Bounds, "9"); Assert.IsFalse(tb.ReadOnly, "10"); Assert.IsFalse(tb.IsInEditOrNavigateMode, "11"); tb.Text = "yo"; rv = column.DoCommit(cm, cm.Position); column.DoEndEdit(); Assert.IsTrue(rv, "12"); v = (DataRowView)cm.Current; Assert.AreEqual("yo", v[0], "13"); }
public DataGridPrimitiveValueColumn(PrimitiveType type) { m_errorProvider = new ErrorProvider(); m_control = new PrimitiveValueControl(); m_control.ErrorProvider = m_errorProvider; m_control.PrimitiveType = type; m_control.Visible = false; m_control.IgnoreUpKey = true; m_control.Leave += new System.EventHandler(m_control_Leave); m_textbox = new DataGridTextBox(); m_textbox.BorderStyle = BorderStyle.None; m_textbox.Multiline = true; m_textbox.AcceptsReturn = true; m_textbox.Visible = false; }
public clsGridListView(DataGrid dtgBase, DataGridTextBoxColumn dtxtcText, ListView lsvShow, EventHandler evhBeforeListViewShow) { m_dtgBase = dtgBase; m_dtxtcText = dtxtcText; m_lsvShow = lsvShow; m_evhBeforeListViewShow = evhBeforeListViewShow; m_txtText = (DataGridTextBox)dtxtcText.TextBox; m_txtText.KeyDown += new KeyEventHandler(ShowListView); m_txtText.TextChanged += new EventHandler(BeforeListViewShow); m_txtText.LostFocus += new EventHandler(HideListView); m_txtText.GotFocus += new EventHandler(TxtGotFocus); m_lsvShow.LostFocus += new EventHandler(HideListView); m_intCheck = 0; }
protected override bool Commit(CurrencyManager cm, int RowNum) { /* * Parse the data and write to underlying record. */ HideEditBox(); /* return focus to the DataGrid control */ DataGridTextBox box = (DataGridTextBox)TextBox; Decimal Value; /* Do not write data if not editing. */ if (box.IsInEditOrNavigateMode) { return(true); } if (TextBox.Text == "") { /* in this example, "" maps to DBNull */ SetColumnValueAtRow(cm, RowNum, DBNull.Value); } else { /* Parse the data. */ try { if (TextBox.Text.ToUpper().EndsWith("CR")) { Value = -Decimal.Parse(TextBox.Text.Substring(0, TextBox.Text.Length - 2)); } else { Value = Decimal.Parse(TextBox.Text); } } catch { return(false); } SetColumnValueAtRow(cm, RowNum, Value); /* Write new value. */ } EndEdit(); /* Let the DataGrid know that processing is completed. */ return(true); }
/// <summary> /// 构造函数 /// </summary> /// <param name="p_dtxtcText">与ListView绑定的列</param> /// <param name="p_intColumnIndex">列的索引</param> /// <param name="p_lsvShow">ListView</param> public clsGridListViewExt(DataGridTextBoxColumn p_dtxtcText, int p_intColumnIndex, ListView p_lsvShow) { m_dtgBase = p_dtxtcText.DataGridTableStyle.DataGrid; m_dtxtcText = p_dtxtcText; m_lsvShow = p_lsvShow; m_txtText = (DataGridTextBox)p_dtxtcText.TextBox; m_txtText.KeyDown += new KeyEventHandler(m_mthTextKeyDown); m_txtText.KeyPress += new KeyPressEventHandler(m_mthTextKeyPress); m_txtText.LostFocus += new EventHandler(m_mthLostFocus); m_lsvShow.LostFocus += new EventHandler(m_mthLostFocus); m_lsvShow.KeyDown += new KeyEventHandler(m_mthListViewKeyDown); m_lsvShow.DoubleClick += new EventHandler(m_mthListViewDoubleClick); m_intColumnIndex = p_intColumnIndex; }
public void dataGV(int tipoLista, DataGridView dgv) { DataGridTextBox textBox = new DataGridTextBox(); switch (tipoLista) { case 1: //CapaControladoSCM.Listas dgvLlenar = new CapaControladoSCM.Listas(); //string[] arreglo = dgvLlenar.obtenerDatosMovimientoInv(); dgv.Columns.Add("codigo", "CODIGO"); dgv.Columns.Add("nombre", "NOMBRE"); dgv.Columns.Add("tipoMovimiento", "TIPO MOVIMIENTO"); dgv.Columns.Add("estado", "ESTADO"); llenarDGV(tipoLista, dgv); break; case 2: dgv.Columns.Add("codigo", "CODIGO"); dgv.Columns.Add("nombre", "NOMBRE"); dgv.Columns.Add("tipoMovimiento", "TIPO MOVIMIENTO"); dgv.Columns.Add("bodega_salida", "BODEGA SALIDA"); dgv.Columns.Add("estado", "ESTADO"); llenarDGV(tipoLista, dgv); break; case 3: dgv.Columns.Add("codigo", "CODIGO"); dgv.Columns.Add("nombre", "NOMBRE"); dgv.Columns.Add("fecha_emision", "FECHA EMISIION"); dgv.Columns.Add("estado", "ESTADO"); llenarDGV(tipoLista, dgv); break; default: mensaje = new Mensaje("Error al obtener los datos para la tabla."); mensaje.Show(); break; } }
public Form1() { InitializeComponent(); var startupPath = Application.StartupPath; var button = new Button { Text = "Boo!" }; var checkBox = new CheckBox { Text = "Boo!", Checked = true }; var checkedListBox = new CheckedListBox { Text = "Boo!" }; checkedListBox.Items.Add("item1", false); checkedListBox.Items.Add("item2", true); checkedListBox.SelectedIndex = 1; var dataGrid = new DataGrid { Text = "Boo!" }; var hitTest = dataGrid.HitTest(0, 0); var dataGridBoolColumn = new DataGridBoolColumn { HeaderText = "Boo!" }; // DataGridColumnStyle var dataGridTextBox = new DataGridTextBox { Text = "Boo!" }; var dataGridTextBoxColumn = new DataGridTextBoxColumn { HeaderText = "Boo!" }; var fontDialog = new FontDialog { Font = SystemFonts.CaptionFont, Color = Color.Red }; var hScrollBar = new HScrollBar { Value = 23, Minimum = 5, Maximum = 28 }; var invalidateEventArgs = new InvalidateEventArgs(new Rectangle(1, 2, 3, 4)); // var itemChangedEventArgs = new ItemChangedEventArgs(10); var itemChangedEventArgs = Activator.CreateInstance(typeof(ItemChangedEventArgs), BindingFlags.NonPublic | BindingFlags.CreateInstance | BindingFlags.Instance, null, new object[] { 10 }, CultureInfo.CurrentCulture); var itemCheckEventArgs = new ItemCheckEventArgs(12, CheckState.Indeterminate, CheckState.Checked); var keyEventArgs = new WinForms.KeyEventArgs(Keys.Enter | Keys.Delete | Keys.A); var keyPressEventArgs = new KeyPressEventArgs('Z'); var linkClickedEventArgs = new LinkClickedEventArgs("Boo!"); var listBox = new ListBox { Text = "Boo!" }; listBox.Items.Add("item1"); listBox.Items.Add("item2"); listBox.SelectedIndex = 1; var listViewItem = new ListViewItem { Text = "Boo!" }; var mouseEventArgs = new WinForms.MouseEventArgs(MouseButtons.XButton1 | MouseButtons.Right, 3, 23, 45, 83); var numericUpDown = new NumericUpDown { Value = 23, Minimum = 5, Maximum = 28 }; var paintEventArgs = new PaintEventArgs(CreateGraphics(), new Rectangle(1, 2, 3, 4)); var progressBar = new ProgressBar { Value = 23, Minimum = 5, Maximum = 28 }; var radioButton = new RadioButton { Text = "Boo!", Checked = true }; var richTextBox = new RichTextBox { Text = "Boo!" }; var screen = Screen.PrimaryScreen; var selectionRange = new SelectionRange(new DateTime(2019, 6, 19), new DateTime(2019, 7, 19)); var splitter = new Splitter { SplitPosition = 23, MinExtra = 5, MinSize = 28 }; var splitterEventArgs = new SplitterEventArgs(23, 1, 5, 28); var textBox = new TextBox { Text = "Boo!" }; var timer = new Timer { Interval = 123 }; var trackBar = new TrackBar { Minimum = 5, Maximum = 28, Value = 23 }; var treeNode = new TreeNode { Text = "Boo!" }; var vScrollBar = new VScrollBar { Value = 23, Minimum = 5, Maximum = 28 }; Debugger.Break(); Environment.Exit(0); }
public void StringConverterTest() { CultureInfo originalCulture = CultureInfo.CurrentCulture; try { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB"); table = new DataTable(); view = table.DefaultView; table.Columns.Add(new DataColumn("Amount", typeof(MockNumericStringConvertable))); DataRow row = table.NewRow(); row ["Amount"] = new MockNumericStringConvertable(1); table.Rows.Add(row); row = table.NewRow(); row ["Amount"] = new MockNumericStringConvertable(2); table.Rows.Add(row); tableStyle = new DataGridTableStyle(); ColumnPoker amountColumnStyle = new ColumnPoker(); amountColumnStyle.MappingName = "Amount"; tableStyle.GridColumnStyles.Add(amountColumnStyle); BindingContext bc = new BindingContext(); DataGrid dg = new DataGrid(); dg.BindingContext = bc; dg.TableStyles.Add(tableStyle); dg.DataSource = table; CurrencyManager cm = (CurrencyManager)bc [view]; DataGridTextBox tb = (DataGridTextBox)amountColumnStyle.TextBox; Assert.IsNotNull(tb, "#A1"); Assert.AreEqual(string.Empty, tb.Text, "#A2"); Assert.IsTrue(tb.IsInEditOrNavigateMode, "#A3"); amountColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, null, true); Assert.AreEqual("£1.00", tb.Text, "#B1"); Assert.AreEqual(new MockNumericStringConvertable(1), table.Rows [0] ["Amount"], "#B2"); Assert.IsTrue(tb.IsInEditOrNavigateMode, "#B3"); amountColumnStyle.DoEdit(cm, 1, new Rectangle(new Point(0, 0), new Size(100, 100)), false, null, true); Assert.AreEqual("£2.00", tb.Text, "#C1"); Assert.AreEqual(new MockNumericStringConvertable(2), table.Rows [1] ["Amount"], "#C2"); Assert.IsTrue(tb.IsInEditOrNavigateMode, "#C3"); amountColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "£3.00", true); Assert.AreEqual("£3.00", tb.Text, "#D1"); Assert.AreEqual(new MockNumericStringConvertable(1), table.Rows [0] ["Amount"], "#D2"); Assert.IsFalse(tb.IsInEditOrNavigateMode, "#D3"); Assert.IsTrue(amountColumnStyle.DoCommit(cm, cm.Position), "#E1"); Assert.AreEqual("£3.00", tb.Text, "#E2"); Assert.AreEqual(new MockNumericStringConvertable(3), table.Rows [0] ["Amount"], "#E3"); Assert.IsTrue(tb.IsInEditOrNavigateMode, "#E4"); amountColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, "INVALID", true); Assert.IsFalse(amountColumnStyle.DoCommit(cm, cm.Position), "#F1"); Assert.AreEqual("INVALID", tb.Text, "#F2"); Assert.AreEqual(new MockNumericStringConvertable(3), table.Rows [0] ["Amount"], "#F3"); Assert.IsFalse(tb.IsInEditOrNavigateMode, "#F4"); amountColumnStyle.Format = "whatever"; amountColumnStyle.FormatInfo = new CultureInfo("en-US"); amountColumnStyle.DoEdit(cm, 0, new Rectangle(new Point(0, 0), new Size(100, 100)), false, null, true); Assert.AreEqual("£3.00", tb.Text, "#G1"); Assert.AreEqual(new MockNumericStringConvertable(3), table.Rows [0] ["Amount"], "#G2"); Assert.IsFalse(tb.IsInEditOrNavigateMode, "#G3"); tb.Text = "5"; Assert.IsTrue(amountColumnStyle.DoCommit(cm, cm.Position), "#H1"); Assert.AreEqual("£5.00", tb.Text, "#H2"); Assert.AreEqual(new MockNumericStringConvertable(5), table.Rows [0] ["Amount"], "#H3"); } finally { Thread.CurrentThread.CurrentCulture = originalCulture; } }