Jan 27, 2015, 7:37 PM
<%@ Page Language="vb" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
Protected Sub GridFill(sender As Object, e As StoreReadDataEventArgs)
Dim store As Store = DirectCast(sender, Store)
store.Data = TestData(100)
End Sub
Private Function TestData(count As Integer) As Object()
Dim firstNames As String() = New String() {"Russel", "Clark", "Steve", "Sam", "Lance", "Robert", _
"Sean", "David", "Justin", "Nicolas", "Brent"}
Dim lastNames As String() = New String() {"Wood", "Lewis", "Scott", "Parker", "Ross", "Garcia", _
"Bell", "Kelly", "Powell", "Moore", "Cook"}
Dim ratings As Integer() = New Integer() {1, 2, 3, 4, 5}
Dim salaries As Integer() = New Integer() {100, 400, 900, 1500, 1000000}
Dim data As Object() = New Object(count - 1) {}
Dim rnd As New Random()
For i As Integer = 0 To count - 1
Dim ratingId As Integer = rnd.[Next](ratings.Length)
Dim salaryId As Integer = rnd.[Next](salaries.Length)
Dim firstNameId As Integer = rnd.[Next](firstNames.Length)
Dim lastNameId As Integer = rnd.[Next](lastNames.Length)
Dim rating As Integer = ratings(ratingId)
Dim salary As Integer = salaries(salaryId)
Dim name As String = [String].Format("{0} {1}", firstNames(firstNameId), lastNames(lastNameId))
Dim id As String = "rec-" & i
data(i) = New Object() {id, name, rating, salary}
Next
Return data
End Function
</script>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" Locale="sr" />
<ext:Viewport runat="server" Layout="BorderLayout">
<Items>
<ext:Panel
runat="server"
Region="Center"
Split="true"
Layout="FitLayout"
Collapsible="false">
<Items>
<ext:GridPanel
ID="Grid"
runat="server"
Region="Center">
<TopBar>
<ext:Toolbar runat="server" EnableOverflow="true">
<Items>
<ext:LiveSearchToolbar runat="server" Flat="True" >
</ext:LiveSearchToolbar>
</Items>
</ext:Toolbar>
</TopBar>
<BottomBar>
<ext:StatusBar ID="StatusBar1" runat="server" DefaultText=" " >
</ext:StatusBar>
</BottomBar>
<Store>
<ext:Store ID="Store" runat="server" OnReadData="GridFill">
<Sorters>
<ext:DataSorter Property="name" />
</Sorters>
<Proxy>
<ext:PageProxy>
<Reader>
<ext:JsonReader RootProperty="data" />
</Reader>
</ext:PageProxy>
</Proxy>
<Model>
<ext:Model runat="server" ID="GridModel" IDProperty="ID">
<Fields>
<ext:ModelField Name="id" />
<ext:ModelField Name="name" SortType="AsUCString" />
<ext:ModelField Name="rating" Type="Int" />
<ext:ModelField Name="salary" Type="Float" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:RowNumbererColumn
runat="server"
Width="40"
Sortable="false" />
<ext:Column
runat="server"
Text="Name"
Flex="1"
DataIndex="name">
<Filter>
<ext:StringFilter />
</Filter>
</ext:Column>
<ext:NumberColumn
runat="server"
Text="Rating"
Width="125"
DataIndex="rating" >
<Filter>
<ext:NumberFilter EmptyText="Unesite vrednost..." />
</Filter>
</ext:NumberColumn>
<ext:NumberColumn
runat="server"
Text="Salary"
Width="125"
DataIndex="salary"
Align="Right">
<Renderer Format="UsMoney" />
<Filter>
<ext:NumberFilter EmptyText="Unesite vrednost..." />
</Filter>
</ext:NumberColumn>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel runat="server" Mode="Single">
</ext:RowSelectionModel>
</SelectionModel>
<Plugins>
<ext:GridFilters runat="server" />
<ext:LiveSearchGridPanel runat="server">
<Listeners>
<RegExpError Handler="App.StatusBar1.setStatus({text: message, iconCls: 'x-status-error'});" />
<BeforeSearch Handler="App.StatusBar1.setStatus({text: '', iconCls: ''});" />
<Search Handler="if(count>0) {App.StatusBar1.setStatus({text: count + ' items found.', iconCls: 'x-status-valid'});}" />
</Listeners>
</ext:LiveSearchGridPanel>
<ext:BufferedRenderer runat="server" />
</Plugins>
</ext:GridPanel>
</Items>
</ext:Panel>
</Items>
</ext:Viewport>
</form>
</body>
</html>