下面是个实际运用中简单的实例:根据下拉列表所选中项点击“查看”按钮后,显示相应的数据。默认显示所有的数据。
我在程序中设计了两个Gridview,一个显示默认的所有数据、另一个显示查询后的数据:
<span>按文章分类名称:</span>
<asp:DropDownList ID="ArticleTypeDD" runat="server">
</asp:DropDownList>
<asp:Button ID="SearchLB" OnClick="SearchLB_Click" Text="查看" runat="server" />
<asp:GridView ID="grdArticles" AllowPaging="true" PageSize="15" EnableSortingAndPagingCallbacks="true" OnPageIndexChanging="grdArticles_PageIndexChanging" runat="server" />
<asp:GridView ID="grdArticlesInType" AllowPaging="true" PageSize="15" EnableSortingAndPagingCallbacks="true" OnPageIndexChanging="grdArticlesInType_PageIndexChanging" runat="server" />
下面是cs代码部分:
protected void Page_Load(object sender, EventArgs e)
{
grdArticles.DataSource = BindData();
grdArticles.DataBind();
grdArticlesInType.DataSource = BindData1();
grdArticlesInType.DataBind();
}
protected void Page_PreRender(object sender, EventArgs e)
{
if (!IsPostBack)
{
ArticleTypeDD.DataSource = ArticleAccess.GetArticleTypeName();
ArticleTypeDD.DataTextField = "ArticleTypeName";
ArticleTypeDD.DataValueField = "ArticleTypeId";
ArticleTypeDD.DataBind();
}
}
protected void grdArticles_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grdArticles.PageIndex = e.NewPageIndex;
grdArticles.DataSource = BindData();
grdArticles.DataBind();
}
protected void grdArticlesInType_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grdArticlesInType.PageIndex = e.NewPageIndex;
grdArticlesInType.DataSource = BindData1();
grdArticlesInType.DataBind();
}
protected void SearchLB_Click(object sender, EventArgs e)
{
grdArticles.Visible = false;
grdArticlesInType.Visible = true;
grdArticlesInType.DataSource = BindData1();
grdArticlesInType.DataBind();
}
在这里,BindData()方法、BindData1()方法分别返回两个GridView控件的数据绑定的DataTable对象实例。方法具体代码略过。分页运行结果是默认的分页界面。