Nov 16, 2010, 8:59 PM
Issue with last suggestion...
So if I follow that advice it does seem to fix the issue in edit mode, but when I am in view mode, the label and field text are not aligned. The display field now has a margin-top : 14px while the disabled textfield has none.
Dim lstTitle As Ext.Net.ComboBox
Dim txtFirstName As Ext.Net.TextField
Dim txtMiddleName As Ext.Net.TextField
Dim txtLastName As Ext.Net.TextField
Dim txtFullName As Ext.Net.DisplayField
Me.Height = Unit.Pixel(37)
If Me.Items.Count = 0 Then
pageStrings = CType(Page, BasePage).PageStrings
lstTitle = New Ext.Net.ComboBox
lstTitle.ID = Me.ID & "_title"
lstTitle.StoreID = Me.TitleStoreID
lstTitle.ValueField = Me.TitleValueField
lstTitle.DisplayField = Me.TitleDisplayField
lstTitle.Items.Add(New Ext.Net.ListItem(" ", "0"))
lstTitle.Items.Add(New Ext.Net.ListItem("Mr", "1"))
lstTitle.Items.Add(New Ext.Net.ListItem("Mrs ", "2"))
lstTitle.Items.Add(New Ext.Net.ListItem("Ms ", "3"))
lstTitle.SelectedItem.Value = Me.TitleID
lstTitle.HideLabel = True
lstTitle.Width = Unit.Pixel(100)
lstTitle.Note = "Title"
lstTitle.NoteAlign = Ext.Net.NoteAlign.Top
lstTitle.Editable = False
lstTitle.SyncSize()
Me.Items.Add(lstTitle)
txtFirstName = New Ext.Net.TextField
txtFirstName.ID = Me.ID & "_firstname"
txtFirstName.Value = Me.FirstName
txtFirstName.HideLabel = True
txtFirstName.AllowBlank = False
txtFirstName.Width = Unit.Pixel(200)
txtFirstName.MaxLength = 254
txtFirstName.Note = "First"
txtFirstName.NoteAlign = Ext.Net.NoteAlign.Top
txtFirstName.SyncSize()
Me.Items.Add(txtFirstName)
txtMiddleName = New Ext.Net.TextField
txtMiddleName.ID = Me.ID & "_middlename"
txtMiddleName.Value = Me.MiddleName
txtMiddleName.HideLabel = True
txtMiddleName.Width = Unit.Pixel(50)
txtMiddleName.MaxLength = 2
txtMiddleName.Note = "MI"
txtMiddleName.NoteAlign = Ext.Net.NoteAlign.Top
txtMiddleName.SyncSize()
Me.Items.Add(txtMiddleName)
txtLastName = New Ext.Net.TextField
txtLastName.ID = Me.ID & "_lastname"
txtLastName.Value = Me.LastName
txtLastName.HideLabel = True
txtLastName.AllowBlank = False
txtLastName.Width = Unit.Pixel(200)
txtLastName.MaxLength = 254
txtLastName.Note = "Last"
txtLastName.NoteAlign = Ext.Net.NoteAlign.Top
txtLastName.SyncSize()
Me.Items.Add(txtLastName)
txtFullName = New Ext.Net.DisplayField
txtFullName.ID = Me.ID & "_fullname"
txtFullName.Value = "Michelle West" 'lstTitle.SelectedItem.Text & " " & Me.FirstName & " " & Me.MiddleName & " " & Me.LastName
txtFullName.HideLabel = True
txtFullName.MinWidth = Unit.Pixel(500)
txtFullName.Note = ""
txtFullName.NoteAlign = Ext.Net.NoteAlign.Top
Me.Items.Add(txtFullName)
End If
In the last section above I am adding the view-mode component. When the page loads, this is what the user will see. The rest of the controls are hidden. When the users goes to edit mode, then txtFullName is hidden and the other controls are shown.
If Me.ViewMode = BasePage.ViewModeType.View Then
' View
Me.Items(0).Hidden = True
Me.Items(1).Hidden = True
Me.Items(2).Hidden = True
Me.Items(3).Hidden = True
Me.Items(4).Hidden = False
Me.MsgTarget = Nothing
Me.HideIndicator()
ElseIf Me.ViewMode = BasePage.ViewModeType.Edit Then
' Edit
Me.Items(0).Hidden = False
Me.Items(0).Disabled = False
Me.Items(1).Hidden = False
Me.Items(1).Disabled = False
Me.Items(2).Hidden = False
Me.Items(2).Disabled = False
Me.Items(3).Hidden = False
Me.Items(3).Disabled = False
Me.Items(4).Hidden = True
Me.MsgTarget = Ext.Net.MessageTarget.Side
Me.ShowIndicator()
In the screenshots namefield.jpg shows how the fullname is aligned where the "note" will be when in edit mode while the label is pushed down because it is set to have a note above it.