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" <(E-Mail Removed)> wrote in message
news:2806E9BC-ABAD-4551-B841-(E-Mail Removed)...
> 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.
|