通用查詢控制項 是一個我寫的伺服器控制項,參考了一個高手的c/s程式碼完成
前台使用代碼
<tr>
<td>
<asp:datagrid id="DataGrid1" runat="server" AllowPaging="True" PageSize="5">
<PagerStyle Visible="False"></PagerStyle>
</asp:datagrid>
<cc1:searchcontrol id="SearchControl1" runat="server" ></cc1:searchcontrol></td>
</tr>
後台 using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace webss
{
/**//// <summary>
/// WebForm1 的摘要說明。
///其中page*是用來分頁的
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
私人變數#region 私人變數
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.DataList MyDataList;
protected page_control.page_control.Page_list Page_list1;
protected page_control.page_control.Page_grid Page_grid2;
protected System.Web.UI.WebControls.DataGrid Datagrid2;
protected System.Web.UI.HtmlControls.HtmlInputHidden hid;
protected my1.searchControl SearchControl1;
#endregion
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
// this.DataGrid1.DataSource=GetDataSource();
// this.DataGrid1.DataBind();
SearchControl1.DataSource=GetDataSource();//目的只是得到,欄位名字
meth(null,new my1.myargs(""));
}
Page_list1.InitPagerControls(ref this.MyDataList, "select * from dic_country",ViewState["topFileter"].ToString(),"10");
Page_grid2.InitPagerControls(ref this.Datagrid2,"select * from dic_country",ViewState["topFileter"].ToString());
SearchControl1.myEvent+=new System.EventHandler(this.meth);
}
private void meth(object sender,System.EventArgs e)
{
DataView dv=GetDataSource().DefaultView;
string ff=((my1.myargs)e).Vs ;
dv.RowFilter=ff;
ViewState["topFileter"]=ff;
this.DataGrid1.DataSource=dv;
this.DataGrid1.DataBind();
}
private DataTable GetDataSource()
{
DataSet1 ds = new DataSet1();
ds.ReadXml(Server.MapPath("~/data/NorthWindOrders.xml"));
return ds.Tables[0];
}
Web 表單設計器產生的程式碼#region Web 表單設計器產生的程式碼
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 該調用是 ASP.NET Web 表單設計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**//// <summary>
/// 設計器支援所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
http://files.cnblogs.com/dxxhh/searchControl.rar 控制項代碼