62,046
社区成员
发帖
与我相关
我的任务
分享
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GridTest.aspx.cs" Inherits="WebTest.GridTest" %>
<%@ Register Assembly="ExtAspNet" Namespace="ExtAspNet" TagPrefix="ext" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title />
</head>
<body>
<form id="form" runat="server">
<ext:PageManager ID="pageManager" runat="server" />
<ext:Grid ID="gdTest" runat="server" EnableRowNumber="true" Title="Number" AllowPaging="True" PageSize="3" IsDatabasePaging="true" OnPageIndexChange="gdTest_PageIndexChange">
<Columns>
<ext:BoundField Width="60px" DataField="id" HeaderText="Id" />
</Columns>
</ext:Grid>
<ext:Button ID="btnDelete" runat="server" Text="Delete" OnClick="btnDelete_Click" />
</form>
</body>
</html>
然后在生成的aspx.cs里面加入下列代码
using System;
using System.Data;
using System.Web.UI;
using System.Collections.Generic;
using ExtAspNet;
namespace WebTest
{
public partial class GridTest : Page
{
private static List<int> testInts;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindPage();
}
}
private void BindPage()
{
if (testInts == null)
{
testInts = new List<int>();
for (int i = 0; i < 20; i++)
{
testInts.Add(i);
}
}
var dataTable = new DataTable();
dataTable.Columns.Add(new DataColumn("Id", typeof(int)));
int startIndex = gdTest.PageIndex * gdTest.PageSize;
for (int i = startIndex; i < startIndex + gdTest.PageSize && i < testInts.Count - 1; i++)
{
DataRow row = dataTable.NewRow();
row["Id"] = testInts[i];
dataTable.Rows.Add(row);
}
gdTest.DataSource = dataTable;
gdTest.DataBind();
gdTest.RecordCount = testInts.Count;
}
protected void gdTest_PageIndexChange(object sender, GridPageEventArgs e)
{
gdTest.PageIndex = e.NewPageIndex;
BindPage();
}
protected void btnDelete_Click(object sender, EventArgs e)
{
foreach (int row in gdTest.SelectedRowIndexArray)
{
testInts.RemoveAt(gdTest.PageSize * gdTest.PageIndex + row);
}
BindPage();
}
}
}
你一看就知道了吧