Oct 01, 2010, 2:26 PM
[CLOSED] scroll through grid with up-down keys
Hi,
When setting the first selected row in javascript (through store listener) like this:
Any thoughts?
Martin
When setting the first selected row in javascript (through store listener) like this:
<%@ Page Language="C#" %>
<%@ 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">
<script runat="server">
private static object[] Data
{
get
{
return new object[]
{
new object[] {"Group A", 71.72},
new object[] {"Group A", 29.01},
new object[] {"Group A", 83.81},
new object[] {"Group B", 52.55},
new object[] {"Group B", 64.13},
new object[] {"Group B", 31.61},
new object[] {"Group C", 75.43},
new object[] {"Group C", 67.27},
new object[] {"Group C", 49.37}
};
}
}
protected void RefreshData(object sender, StoreRefreshDataEventArgs e)
{
string field = e.Parameters["groupBy"];
object[] data = Data;
if(!string.IsNullOrEmpty(field))
{
//Grouping
// For example group in the following order
// - Group B
// - Group C
// - Group A
Array.Sort<object>(data, (object o1, object o2) =>
{
object[] objArr1 = (object[]) o1;
object[] objArr2 = (object[]) o2;
if (objArr1[0] == objArr2[0])
{
return 0;
}
switch (objArr1[0].ToString())
{
case "Group B" :
return -1;
case "Group C":
if((string) objArr2[0] == "Group B")
{
return 1;
}
return -1;
case "Group A":
return 1;
}
return 0;
});
}
Store1.DataSource = data;
Store1.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
var doLoad = function(store, records, options) {
GridPanel1.getSelectionModel().selectRow(0, true);
};
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager" runat="server" />
<ext:Store ID="Store1" runat="server" OnRefreshData="RefreshData">
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:ArrayReader>
<Fields>
<ext:RecordField Name="company" />
<ext:RecordField Name="price" Type="Float" />
</Fields>
</ext:ArrayReader>
</Reader>
<Listeners>
<Load Fn="doLoad" />
</Listeners>
</ext:Store>
<ext:textfield id="txtAlpha" runat="server" note="Alphanumeric" maskRe="^\w+$" />
<ext:GridPanel
ID="GridPanel1"
runat="server"
StoreID="Store1"
StripeRows="true"
Title="Array Grid"
TrackMouseOver="true"
Width="600"
Height="350"
AutoExpandColumn="Company">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ColumnID="Company" Header="Company" Sortable="true" DataIndex="company" />
<ext:Column Header="Price" Sortable="true" DataIndex="price">
<Renderer Format="UsMoney" />
</ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel ID="rsm" runat="server" SingleSelect="true"/>
</SelectionModel>
</ext:GridPanel>
</form>
</body>
</html>
I'm not able to use the arrow keys (up/down) to go to the next record. After using a mouse to select the same record. It works suddenlyAny thoughts?
Martin
Last edited by Daniil; Oct 04, 2010 at 5:21 AM.
Reason: [CLOSED]