Sep 23, 2013, 8:24 AM
[CLOSED] how to pass custom parameters to the PageProxy so that in OnReadData event handler can get the parameters
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm13.aspx.cs" Inherits="TobrosCWT.test.WebForm13" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
}
public class Student
{
public int id { get; set; }
public string name { get; set; }
public int age { get; set; }
public List<Student> AllStudent(int start, int limit, out int total, int age1, int age2)
{
var ll = new List<Student>
{
new Student{id = 1,name = "s1",age = 7},
new Student{id = 2,name = "s2",age = 8},
new Student{id = 3,name = "s3",age = 9},
new Student{id = 4,name = "s4",age = 10},
new Student{id = 5,name = "s5",age = 11},
new Student{id = 6,name = "s6",age = 12},
new Student{id = 7,name = "s7",age = 13},
new Student{id = 8,name = "s8",age = 14},
new Student{id = 9,name = "s9",age = 15},
new Student{id = 10,name = "s10",age = 16},
new Student{id = 11,name = "s11",age = 17},
new Student{id = 12,name = "s12",age = 18},
new Student{id = 13,name = "s13",age = 19},
new Student{id = 14,name = "s14",age = 20}
};
total = ll.Count;
var rtnll = new List<Student>();
foreach (var l in ll)
{
if (l.id > start && l.id <= (start + limit))
{
if (age1 != 0 && age2 != 0)
{
if (l.age >= age1 && l.age <= age2)
{
rtnll.Add(l);
}
}
else
{
rtnll.Add(l);
}
}
}
return rtnll;
}
}
protected void LoadData(object sender, StoreReadDataEventArgs e)
{
int start = e.Start;
int limit = e.Limit;
int total = 0;
int age1 = 0;
int age2 = 0;
var ll = new Student().AllStudent(start, limit, out total, age1, age2);
e.Total = total;
store1.DataSource = ll;
store1.DataBind();
}
protected void Search(object sender, EventArgs e)
{
int age1 = int.Parse(nf_age1.Text);
int age2 = int.Parse(nf_age2.Text);
// how to pass the two parameters age1 and age2 to the PageProxy so that LoadData can get the parameter
}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager runat="server"></ext:ResourceManager>
<ext:GridPanel runat="server" Title="学生信息查询">
<TopBar>
<ext:Toolbar runat="server">
<Items>
<ext:FieldContainer ID="FieldContainer1" runat="server" FieldLabel="年龄" Layout="HBoxLayout">
<Items>
<ext:NumberField ID="nf_age1" Text="9" runat="server"></ext:NumberField>
<ext:DisplayField ID="DisplayField1" runat="server" Text="-"></ext:DisplayField>
<ext:NumberField runat="server" ID="nf_age2" Text="19"></ext:NumberField>
<ext:Button ID="Button1" runat="server" Text="查询">
<DirectEvents>
<Click OnEvent="Search"></Click>
</DirectEvents>
</ext:Button>
</Items>
</ext:FieldContainer>
</Items>
</ext:Toolbar>
</TopBar>
<Store>
<ext:Store runat="server" ID="store1" OnReadData="LoadData" PageSize="3">
<Model>
<ext:Model runat="server">
<Fields>
<ext:ModelField Name="id"></ext:ModelField>
<ext:ModelField Name="name"></ext:ModelField>
<ext:ModelField Name="age"></ext:ModelField>
</Fields>
</ext:Model>
</Model>
<Proxy>
<ext:PageProxy>
</ext:PageProxy>
</Proxy>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:Column runat="server" DataIndex="id" Text="编号"></ext:Column>
<ext:Column runat="server" DataIndex="name" Text="名称"></ext:Column>
<ext:Column runat="server" DataIndex="age" Text="年龄"></ext:Column>
</Columns>
</ColumnModel>
<BottomBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:PagingToolbar ID="PagingToolbar1" runat="server" StoreID="store1"></ext:PagingToolbar>
</Items>
</ext:Toolbar>
</BottomBar>
</ext:GridPanel>
</form>
</body>
</html>
Last edited by Daniil; Oct 04, 2013 at 5:48 AM.
Reason: [CLOSED]