Apr 25, 2011, 4:46 PM
Well, .AddKeyBinding() really requires an ajax request (DirectEvent).
To add the KeyBinding during initial page load, please use
To add the KeyBinding during initial page load, please use
this.KeyMap1.Keys.Add()
Example<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
this.KeyMap1.Keys.Add(new KeyBinding()
{
Keys =
{
new Key()
{
Code = KeyCode.TAB
}
},
Listeners =
{
Event =
{
Handler = @"if (!e.shiftKey) {
if (Button2.focused) {
e.stopEvent();
DateField1.focus();
}
} else {
if (DateField1.focused) {
e.stopEvent();
Button2.focus();
}
}"
}
}
});
}
</script>
<!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>Ext.Net Example</title>
<script type="text/javascript">
var onFocus = function (e, t, o) {
this.focused = true;
}
var onBlur = function (e, t, o) {
this.focused = false;
}
</script>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:KeyMap ID="KeyMap1" runat="server" Target="={Ext.isGecko ? Ext.getDoc() : Ext.getBody()}" />
<ext:Button runat="server" Text="Show window">
<Listeners>
<Click Handler="Window1.show();" />
</Listeners>
</ext:Button>
<ext:Window
ID="Window1"
runat="server"
Modal="true"
Height="300"
Hidden="true">
<Items>
<ext:DateField ID="DateField1" runat="server">
<Listeners>
<Blur Fn="onBlur" />
<Focus Fn="onFocus" />
</Listeners>
</ext:DateField>
<ext:TextField ID="TextField1" runat="server" />
<ext:TextField ID="TextField2" runat="server" />
</Items>
<Buttons>
<ext:Button ID="Button2" runat="server" Text="Some buttom">
<Listeners>
<AfterRender Handler="this.btnEl.on('focus', onFocus, this);
this.btnEl.on('blur', onBlur, this);" />
<Click Handler="alert('Hello!');" />
</Listeners>
</ext:Button>
</Buttons>
<Listeners>
<Show Handler="DateField1.focus();" Delay="100" />
</Listeners>
</ext:Window>
</form>
</body>
</html>