CREATE PROC GetPage
(
@sheetno varchar(14),
@indexPage int ,
@pagesize int ,
@numberCount numeric(9,0) output ,
@itemno varchar(10)
)
AS
begin
DECLARE @culomns varchar(8000)
select a.kp_flow_id, kp_item_no ,kp_sup_no , supname , kp_item_code ,kp_item_name , kp_item_addr,kp_price ,kp_gongyi as gongyiname ,kp_type,kp_url, kp_goods_belong ,
kp_sale_state, typename , kp_goods_belong1=case kp_goods_belong when 0 then '正常品'
when 1 then '促销品'
when 2 then '新品' end ,
kp_sale_state1 =case kp_sale_state
when 0 then '一般'
when 1 then '畅销'
when 2 then '滞销' end
INTO #table1 from xc_imagedetail a,xc_supInfo b ,xc_toweltype c
where a.kp_sup_no=b.supid and(a.kp_type=c.typeid)
AND kp_sheet_no =@sheetno
AND kp_item_no LIKE '%'+@itemno+'%'
ORDER BY kp_flow_id DESC
-- SELECT * FROM #table1
set @numberCount=(SELECT ceiling(count(kp_item_no)/@pagesize) FROM #table1 )
IF(@indexPage=1)
BEGIN
BEGIN
SET @culomns='select top '+CONVERT(varchar(4),@pageSize)+' * from #table1 order by kp_flow_id desc '
end
end
ELSE
BEGIN
SET @culomns='select top '+CONVERT(varchar(4),@pageSize)+' * from #table1 a where kp_item_no not in ( select top '+CONVERT(varchar(10),(@indexPage-1)*@pageSize)+' kp_item_no from xc_imagedetail b where b.kp_sheet_no='''+@sheetno+''' orde
r by kp_flow_id desc ) order by kp_flow_id desc '
end
EXECUTE(@culomns)
DROP TABLE #table1
end
c#:
protected void Button1_Click(object sender, EventArgs e)
{
BindSingleItem(1);
lblnow.Text = "1";
//selectbind();
// BindSingleItem(view);
}
protected void linkpre_Click(object sender, EventArgs e)
{
this.tcPanelContainer.ActiveTabIndex = 0;
int index = Convert.ToInt32(ViewState["index"]) - 1;
if (index == 0)
{
this.linkpre.Enabled = false;
}
else
{
BindSingleItem(index);
ViewState["index"] = index;
lblnow.Text = index.ToString();
}
}
protected void linknext_Click(object sender, EventArgs e)
{
this.tcPanelContainer.ActiveTabIndex = 0;
this.linkpre.Enabled = true;
int index = Convert.ToInt32(ViewState["index"]) + 1;
BindSingleItem(index);
ViewState["index"] = index;
lblnow.Text =index.ToString ();
}
void BindSingleItem(int index )
{
//lblsheetno.Text = Request["kp_sheet_no"];
DbCommand cmd = GenericDataAccess.createcommand();
cmd.CommandText = "GetPage";
DbParameter parm = cmd.CreateParameter();
parm.ParameterName = "@sheetno";
parm.DbType = DbType.String ;
parm.Value = lblsheetno.Text .Trim();
cmd.Parameters.Add(parm);
parm = cmd.CreateParameter();
parm.ParameterName = "@pagesize";
parm.DbType = DbType.Int16;
parm.Value = 6;
cmd.Parameters.Add(parm);
parm = cmd.CreateParameter();
parm.ParameterName = "@indexPage";
parm.DbType = DbType.Int16;
parm.Value = index;
cmd.Parameters.Add(parm);
parm = cmd.CreateParameter();
parm.ParameterName = "@itemno";
parm.DbType = DbType.String;
parm.Value = TextBox1.Text.Trim();
cmd.Parameters.Add(parm);
parm = cmd.CreateParameter();
parm.ParameterName = "@numberCount";
parm.DbType = DbType.String ;
parm.Direction = ParameterDirection.Output;
parm.Size = 100;
cmd.Parameters.Add(parm);
DataTable dt=GenericDataAccess.selectcommand(cmd);
lbltotal.Text = (string)cmd.Parameters["@numberCount"].Value; // parm.Value.ToString ();
this.listsingleitem.DataSource = dt ;
this.listsingleitem.DataBind();