By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,247 Members | 1,165 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,247 IT Pros & Developers. It's quick & easy.

Datagrid cell change event? Where to find event.

P: n/a
I have a datagrid and would like to know what even fires when a cell is
changed?

I want to know when the user changes a cell and moves to the next. I have
some code that needs to be done to make sure entry is valid?
Thanks,

Rog
Nov 21 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a


copied from one of my projects

Private Sub dgModel_CurrentCellChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles dgModel.CurrentCellChanged

dgStyleSelection(dgModel, dgModel.CurrentCell.RowNumber())

End Sub
so you use the "CurrentCellChanged" event (this fires by mouse and
keyboard )

M. Posseth

"Roger" <da*****@netins.net> wrote in message
news:eA**************@tk2msftngp13.phx.gbl...
I have a datagrid and would like to know what even fires when a cell is
changed?

I want to know when the user changes a cell and moves to the next. I have
some code that needs to be done to make sure entry is valid?
Thanks,

Rog

Nov 21 '05 #2

P: n/a
M,

This shows me that the cell changed, but gives me the new coordinates not
the current coordinates. I would like to validate the data entered into the
cell before leaving.

Roger
"M. Posseth" <mi*****@nohausystems.nl> wrote in message
news:d2**********@reader10.wxs.nl...


copied from one of my projects

Private Sub dgModel_CurrentCellChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles dgModel.CurrentCellChanged

dgStyleSelection(dgModel, dgModel.CurrentCell.RowNumber())

End Sub
so you use the "CurrentCellChanged" event (this fires by mouse and
keyboard )

M. Posseth

"Roger" <da*****@netins.net> wrote in message
news:eA**************@tk2msftngp13.phx.gbl...
I have a datagrid and would like to know what even fires when a cell is
changed?

I want to know when the user changes a cell and moves to the next. I have some code that needs to be done to make sure entry is valid?
Thanks,

Rog


Nov 21 '05 #3

P: n/a
Roger,

I think, that you can use a datagridtextbox in a datagridtextboxcolumn.
From that you can than use the validating event.

I never used it in this way.

A sample I once made with a tooltip
\\\
Private WithEvents dtbCol1 As DataGridTextBox
Private ToolTip1 As New ToolTip
')
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Datagrid1.ReadOnly = True
Dim ts As New DataGridTableStyle
ts.MappingName = ds.Tables(0).TableName
Dim column As New DataGridTextBoxColumn
ts.GridColumnStyles.Add(column)
DataGrid1.TableStyles.Add(ts)
column = DirectCast(ts.GridColumnStyles(0), DataGridTextBoxColumn)
dtbCol1 = DirectCast(column.TextBox, DataGridTextBox)
column.MappingName = ds.Tables(0).Columns(0).ColumnName
column.HeaderText = "Cor"
column.Width = 30
dv = New DataView(ds.Tables(0))
dv.AllowNew = False
DataGrid1.DataSource = dv
End Sub
Private Sub dtbCol1_ToolTip(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles dtbCol1.MouseEnter
ToolTip1.SetToolTip(DirectCast(sender, DataGridTextBox), _
"Row: " & DataGrid1.CurrentRowIndex + 1)
End Sub
///

I hope this helps,

Cor
Nov 21 '05 #4

P: n/a
aha

well you could declare a static variabel and read the previous cell values
with it ( i am famous for my simplistic solutions :-) )

or

There are two types of input validation available for the Windows Forms
DataGrid control. If the user attempts to enter a value that is of an
unacceptable data type for the cell, for example a string into an integer,
the new invalid value is replaced with the old value. This kind of input
validation is done automatically and cannot be customized.
The other type of input validation can be used to reject any unacceptable
data, for example a zero value in a field that must be greater than or equal
to one, or an inappropriate string. This is done in the dataset by writing
an event handler for the DataTable.ColumnChanging or DataTable.RowChanging
event. The example below uses the ColumnChanging event because the
unacceptable value is disallowed for the "Product" column in particular. You
might use the RowChanging event for checking that the value of an "End Date"
column is later than the "Start Date" column in the same row.

Private Sub Customers_ColumnChanging(ByVal sender As Object, _
ByVal e As System.Data.DataColumnChangeEventArgs)
' Only check for errors in the Product column
If (e.Column.ColumnName.Equals("Product")) Then
' Do not allow "Automobile" as a product.
If CType(e.ProposedValue, String) = "Automobile" Then
Dim badValue As Object = e.ProposedValue
e.ProposedValue = "Bad Data"
e.Row.RowError = "The Product column contians an error"
e.Row.SetColumnError(e.Column, "Product cannot be " & _
CType(badValue, String))
End If
End If
End Sub
' Assumes the grid is bound to a dataset called customersDataSet1
' with a table called Customers.
' Put this code in the form's Load event or its constructor.
AddHandler customersDataSet1.Tables("Customers").ColumnChangi ng, AddressOf
Customers_ColumnChanging

i hope this answers your problem

happy coding :-)

Michel Posseth [MCP]


"Roger" <da*****@netins.net> wrote in message
news:%2****************@TK2MSFTNGP15.phx.gbl...
M,

This shows me that the cell changed, but gives me the new coordinates not
the current coordinates. I would like to validate the data entered into the cell before leaving.

Roger
"M. Posseth" <mi*****@nohausystems.nl> wrote in message
news:d2**********@reader10.wxs.nl...


copied from one of my projects

Private Sub dgModel_CurrentCellChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles dgModel.CurrentCellChanged

dgStyleSelection(dgModel, dgModel.CurrentCell.RowNumber())

End Sub
so you use the "CurrentCellChanged" event (this fires by mouse and
keyboard )

M. Posseth

"Roger" <da*****@netins.net> wrote in message
news:eA**************@tk2msftngp13.phx.gbl...
I have a datagrid and would like to know what even fires when a cell is changed?

I want to know when the user changes a cell and moves to the next. I

have some code that needs to be done to make sure entry is valid?
Thanks,

Rog



Nov 21 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.