471,354 Members | 2,030 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,354 software developers and data experts.

How can I get the following functionatilty in Windows Forms ?

Al
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.
Jul 21 '05 #1
2 1040
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.

Jul 21 '05 #2
Al,

In my opinion is for that the validate event from every control.

As I understand your problem well, just by instancing it from a class and
let it go.
(typed in this message, watch typos)

\\\
Rules myRules = new Rules();
string ruleResult = myRules.MaxAmount((double) textBox1.text);
///
\\\
dim myRules as New Rules
dim ruleResult as String = myRules.MaxAmount(CDbl(textBox1.text))
///

I hope this helps,

Cor

Jul 21 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by david | last post: by
16 posts views Thread by NetPointer | last post: by
9 posts views Thread by Günther Rühmann | last post: by
reply views Thread by gxl034000 | last post: by
21 posts views Thread by Dan Tallent | last post: by
reply views Thread by XIAOLAOHU | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.