I have been working on some data entry forms that utilize a DataGrid. Using a PostGres Geodatabase that had domains set on several fields, I could not directly bind to the controls on my dialog. So I am going the round-about way of populating my own comboboxes with valid names and displaying within the DataGrid.
Having not done this previously, I found this example: Example of how to add controls in data grid VB.NET very useful and just wanted to point it out to anyone. George Shephard’s Windows Forms FAQ also had several useful tips.
Finally, I has a problem with the masked textboxs I added to the Datagrid, they required users to click once to get focus and a second to start editing. After much googling, I found used some information from MSDN that allowed me to find a work-around. In my Mousedown event, I included this snippet (QdiControl is the control for the specific cell that the HitTestInfo says the mousedown hit):
</pre> Dim WindowsControl As System.Windows.Forms.Control = CType(QdiControl, System.Windows.Forms.Control) If (TypeOf WindowsControl Is MaskedTextBox) Then Dim pTextBox As MaskedTextBox = CType(WindowsControl, MaskedTextBox) Dim dgdtblStyle As DataGridColumnStyle = RelatedForm.DataGrid.TableStyles(0).GridColumnStyles(CurrentColumn) RelatedForm.DataGrid.BeginEdit(dgdtblStyle, CurrentRow) pTextBox.Select(pTextBox.Text.Length, 0) WindowsControl.Focus() End If