protected void btnSearch_Click(object sender, EventArgs e)
{
string MenuID = Request.QueryString["mid"];
hidSqlWhere.Value = "where i_MenuId=" + MenuID;
if (!string.IsNullOrEmpty(txtMemberName.Text.Trim()))
{
hidSqlWhere.Value += " and m_Name like '%" + txtMemberName.Text.Trim() + "%'";
}
BindGridView();
}
private void BindGridView()
{
InitializePagerInfo();
AspNetPager1.RecordCount = Pager.GetRecordCount(info);
gvwMember.DataSource = Pager.GetListForDataSet(info);
gvwMember.DataBind();
}
private void InitializePagerInfo()
{
/*************/
info.TableName = "tb_Member";
info.PageSize = AspNetPager1.PageSize;
info.PageIndex = AspNetPager1.CurrentPageIndex;
info.KeyField = "m_Id";
info.FieldType = "int";
info.SqlFile = "*";
info.SqlOrder = "order by m_Id desc";
info.SqlWhere = hidSqlWhere.Value;
/*************/
}
/// <summary>
/// 获取记录集总数
/// </summary>
/// <returns></returns>
public int GetRecordCount(AspNetPagerInfo info)
{
SqlParameter[] parameters = MsSqlHelp.GetCachedParameters("Psp_SetPagination");
if (parameters == null)
{
parameters = new SqlParameter[] {
new SqlParameter("@vc_Table",SqlDbType.VarChar,50),
new SqlParameter("@vc_SqlWhere",SqlDbType.VarChar,1000),
new SqlParameter("@vc_SqlOrder",SqlDbType.VarChar,1000),
new SqlParameter("@vc_SqlFile",SqlDbType.VarChar,1000),
new SqlParameter("@vc_Key",SqlDbType.VarChar,50),
new SqlParameter("@vc_FieldType",SqlDbType.VarChar,50),
new SqlParameter("@i_PageSize",SqlDbType.Int),
new SqlParameter("@i_PageIndex",SqlDbType.Int),
new SqlParameter("@bt_Count",SqlDbType.Bit)
};
MsSqlHelp.CacheParameters("Psp_SetPagination", parameters);
}
parameters[0].Value = info.TableName;
parameters[1].Value = info.SqlWhere;
parameters[2].Value = info.SqlOrder;
parameters[3].Value = info.SqlFile;
parameters[4].Value = info.KeyField;
parameters[5].Value = info.FieldType;
parameters[6].Value = info.PageSize;
parameters[7].Value = info.PageIndex;
parameters[8].Value = 1;
return (int)MsSqlHelp.ExecuteScalar(MsSqlHelp.ConnectionStringLocal, CommandType.StoredProcedure, "Psp_SetPagination", parameters);
}
public SqlDataReader GetListForDataReader(AspNetPagerInfo info)
{
SqlParameter[] parameters = MsSqlHelp.GetCachedParameters("Psp_SetPagination");
if (parameters == null)
{
parameters = new SqlParameter[] {
new SqlParameter("@vc_Table",SqlDbType.VarChar,50),
new SqlParameter("@vc_SqlWhere",SqlDbType.VarChar,1000),
new SqlParameter("@vc_SqlOrder",SqlDbType.VarChar,1000),
new SqlParameter("@vc_SqlFile",SqlDbType.VarChar,1000),
new SqlParameter("@vc_Key",SqlDbType.VarChar,50),
new SqlParameter("@vc_FieldType",SqlDbType.VarChar,50),
new SqlParameter("@i_PageSize",SqlDbType.Int),
new SqlParameter("@i_PageIndex",SqlDbType.Int),
new SqlParameter("@bt_Count",SqlDbType.Bit)
};
MsSqlHelp.CacheParameters("Psp_SetPagination", parameters);
}
parameters[0].Value = info.TableName;
parameters[1].Value = info.SqlWhere;
parameters[2].Value = info.SqlOrder;
parameters[3].Value = info.SqlFile;
parameters[4].Value = info.KeyField;
parameters[5].Value = info.FieldType;
parameters[6].Value = info.PageSize;
parameters[7].Value = info.PageIndex;
parameters[8].Value = 0;
return MsSqlHelp.ExecuteReader(MsSqlHelp.ConnectionStringLocal, CommandType.StoredProcedure, "Psp_SetPagination", parameters);
}