Apr 22, 2011, 10:18 AM
[CLOSED] Show/hide trigger in triggerField during a DirectEvent
Hi, I'm trying to show and hide trigger in triggerField during a DirectEvent, but the trigger field does not render correctly.
Where I'm wrong?
I'm using Ext.Net 1.0.3859.28435
Here is sample code:
Where I'm wrong?
I'm using Ext.Net 1.0.3859.28435
Here is sample code:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Test.aspx.vb" Inherits="Test" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>test</title>
<script type="text/javascript" language="javascript">
var doSomething = function(txt){alert('clicked: ' + txt);}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="extSM" runat="server"></ext:ResourceManager>
<ext:Viewport ID="vp" runat="server">
<Content>
<ext:FormPanel ID="pnl" runat="server" Width="600" Height = "400" Frame="true">
<Content></Content>
<BottomBar>
<ext:Toolbar runat="server">
<Items>
<ext:Button ID="btnShow" runat="server" Text="Show trigger">
<DirectEvents><Click OnEvent="btnShow_Click"><EventMask ShowMask="true"/></Click></DirectEvents>
</ext:Button>
<ext:ToolbarSeparator runat="server"></ext:ToolbarSeparator>
<ext:Button ID="btnHide" runat="server" Text="Hide trigger">
<DirectEvents><Click OnEvent="btnHide_Click"><EventMask ShowMask="true"/></Click></DirectEvents>
</ext:Button>
</Items>
</ext:Toolbar>
</BottomBar>
</ext:FormPanel>
</Content>
</ext:Viewport>
</form>
</body>
</html>
Test.aspx.vbPartial Public Class Test : Inherits System.Web.UI.Page
Private Sub Test_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
loadFields()
End Sub
'Loads all fields
Protected Sub loadFields()
For i = 0 To 10
loadField(pnl, i, False)
Next
End Sub
'Loads each CompositeField.
Protected Sub loadField(ByRef parent As Ext.Net.FormPanel, _
ByRef id As Int32, _
ByRef triggerVisible As String)
Try
Dim campo As New CompositeField() With {.id = "cmps_" & id, .StyleSpec = "background-color:transparent"}
buildField(campo, parent, triggerVisible)
Catch exc As Exception
Throw
End Try
End Sub
'Builds each CompositeField content.
Public Sub buildField(ByRef cmps As CompositeField, _
ByRef parent As FormPanel, _
ByRef triggerVisible As Boolean)
Try
Dim txt1 As New TriggerField() With {.Width = 205, .ID = cmps.ID & "_txt1"}
Dim cmbOp As New ComboBox() With {.Width = 50, .ID = cmps.ID & "_cmbOp", .Editable = False, .AllowBlank = False}
cmbOp.Items.Add(New ListItem("<>", "<>"))
cmbOp.Items.Add(New ListItem("=", "="))
cmbOp.SelectedItem.Value = "="
parent.Items.Add(cmps)
cmps.Items.Add(cmbOp)
cmps.Items.Add(txt1)
txt1.Triggers.Add(New FieldTrigger() With {.Icon = TriggerIcon.SimpleDatabase})
txt1.Listeners.TriggerClick.Handler = "doSomething('" & txt1.ClientID & "');"
txt1.HideTrigger = triggerVisible
Catch exc As Exception
Throw
End Try
End Sub
Protected Sub btnShow_Click(ByVal sender As Object, ByVal e As DirectEventArgs)
For Each c As Control In pnl.Controls
If TypeOf (c) Is CompositeField Then
Dim txt As TriggerField = c.FindControl(c.ID & "_txt1")
txt.HideTrigger = False
End If
Next
End Sub
Protected Sub btnHide_Click(ByVal sender As Object, ByVal e As DirectEventArgs)
For Each c As Control In pnl.Controls
If TypeOf (c) Is CompositeField Then
Dim txt As TriggerField = c.FindControl(c.ID & "_txt1")
txt.HideTrigger = True
End If
Next
End Sub
End Class
Last edited by Daniil; Apr 26, 2011 at 7:37 AM.
Reason: [CLOSED]