Hi Al,
I am not sure how complex your business rules are but you can use a
datagrid.
Build a Class that overrides methods of the DataGridTextBoxColumn
Example below was a test to see what I could do and needs to be built into a
more generic class where the style is passed to it as a parameter but it
makes the column readonly depending on the value in another column as well
as converting the displayed data into upper case.
I am not an expert and find this stuff fiddly and time consuming but it can
be done.
Public Class DacDGTextColLotNo
Inherits DataGridTextBoxColumn
Public Sub New()
MyBase.New()
Me.MappingName = MappingName
Me.Format = Format
Me.Alignment = Alignment
Me.Width = Width
Me.ReadOnly = [ReadOnly]
Me.HeaderText = HeaderText
Me.NullText = NullText
End Sub
Protected Overrides Function GetColumnValueAtRow _
(ByVal source As System.Windows.Forms.CurrencyManager, _
ByVal rowNum As Integer) As Object
Dim s As Object
Dim drv As DataRowView = CType([source].Current, DataRowView)
s = MyBase.GetColumnValueAtRow([source], rowNum)
If SetStyle = 1 Then
s = UCase(s)
'Set to Read Only if Column "LotFlg" (Commodity Flag) <> 2
Dim fReadOnly As Boolean
Try
fReadOnly = drv("LotFlg").ToString <> "2"
Catch
fReadOnly = True
End Try
Me.ReadOnly = fReadOnly
End If
Return s
End Function
Protected Overrides Sub SetColumnValueAtRow( _
ByVal source As System.Windows.Forms.CurrencyManager, _
ByVal rowNum As Integer, ByVal value As Object)
Value = UCase(value)
MyBase.SetColumnValueAtRow([source], rowNum, NValue)
End Sub
End Class
"Al" <Al@discussions.microsoft.com> wrote in message
news:28**********************************@microsof t.com...
I have a useful framework, written in a different language (PowerBuilder),
which I'd like to replicate in .Net and Forms, but I'm unsure of how to
approach it, as the Event model is being used different between the
development environments.
Currently we have data entry screens, whose columns have been "wired" into
a class that performs checks on the entered data. As the user "leaves" a
column, the specific check / business rule is carried out. A lot of the
checks are common across all the screens and linking the column to the
specific method to be called is as easy a giving the column the
appropriate Name.
How can I create my own framework which would allow an easy method of
connecting / wiring the columns and the method checks together. I was
planning on using DataGrids, but can change that if I need to.