merlin_vista
سه شنبه 23 مهر 1387, 13:50 عصر
سلام دوستان خوبم : :قلب:
من براي صفحه بندي ديتاليست از يك SP استفاده ميكنم و لينك ها را ميسازم .
كد SP :
ALTER PROCEDURE dbo.Dsl_paging
(
@startRowIndex int,
@maximumRows int
)
AS
--DECLARE @startRow int
SET ROWCOUNT @startRowIndex
SET ROWCOUNT @maximumRows
SELECT * FROM Tbl_name
ORDER BY id
SET ROWCOUNT 0
كد هاي C# براي صفحه بندي :
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs[0].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{
this.Literal1.Text = LinkPaging();
if (!IsPostBack)
{
SelectAll();
}
}
private DataTable Bind(int start,int max)
{
SqlDataAdapter dat_sel = new SqlDataAdapter("Dsl_paging", con);
dat_sel.SelectCommand.CommandType = CommandType.StoredProcedure;
dat_sel.SelectCommand.Parameters.AddWithValue("@startRowIndex", start);
dat_sel.SelectCommand.Parameters.AddWithValue("@maximumRows", max);
DataTable dt = new DataTable();
dat_sel.Fill(dt);
return dt;
}
private int count()
{
SqlCommand cmd = new SqlCommand("all_count", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
int c = (int)cmd.ExecuteScalar();
con.Close();
return c;
}
private string LinkPaging()
{
int cu = count();
string link = "";
if (cu > 0)
{
int pg = cu / 10;
int i=1;
if( cu % 10 != 0 )
{
pg+= 1;
}
while (i <= pg)
{
link += "<a href='paging.aspx?p=" + i.ToString() + "'>" + i.ToString() + "</a>|";
i++;
}
}
return link;
}
private void SelectAll()
{
try
{
int p =int.Parse(Request.QueryString["p"].ToString());
int max = p * 10;
int start = max - 10;
this.DataList1.DataSource = Bind(start, max);
this.DataList1.DataBind();
}
catch
{
this.DataList1.DataSource = Bind(1, 10);
this.DataList1.DataBind();
}
}
از دوستان كسي ميدونه كه مشكل از كجاست . من فكر ميكنم مشكل از SP باشه ولي نميدونم از كجاش هست . :متفکر: اگر كسي ميدونه بگويد ممنون ميشم . :قلب::بوس::لبخندساده:
من براي صفحه بندي ديتاليست از يك SP استفاده ميكنم و لينك ها را ميسازم .
كد SP :
ALTER PROCEDURE dbo.Dsl_paging
(
@startRowIndex int,
@maximumRows int
)
AS
--DECLARE @startRow int
SET ROWCOUNT @startRowIndex
SET ROWCOUNT @maximumRows
SELECT * FROM Tbl_name
ORDER BY id
SET ROWCOUNT 0
كد هاي C# براي صفحه بندي :
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs[0].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{
this.Literal1.Text = LinkPaging();
if (!IsPostBack)
{
SelectAll();
}
}
private DataTable Bind(int start,int max)
{
SqlDataAdapter dat_sel = new SqlDataAdapter("Dsl_paging", con);
dat_sel.SelectCommand.CommandType = CommandType.StoredProcedure;
dat_sel.SelectCommand.Parameters.AddWithValue("@startRowIndex", start);
dat_sel.SelectCommand.Parameters.AddWithValue("@maximumRows", max);
DataTable dt = new DataTable();
dat_sel.Fill(dt);
return dt;
}
private int count()
{
SqlCommand cmd = new SqlCommand("all_count", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
int c = (int)cmd.ExecuteScalar();
con.Close();
return c;
}
private string LinkPaging()
{
int cu = count();
string link = "";
if (cu > 0)
{
int pg = cu / 10;
int i=1;
if( cu % 10 != 0 )
{
pg+= 1;
}
while (i <= pg)
{
link += "<a href='paging.aspx?p=" + i.ToString() + "'>" + i.ToString() + "</a>|";
i++;
}
}
return link;
}
private void SelectAll()
{
try
{
int p =int.Parse(Request.QueryString["p"].ToString());
int max = p * 10;
int start = max - 10;
this.DataList1.DataSource = Bind(start, max);
this.DataList1.DataBind();
}
catch
{
this.DataList1.DataSource = Bind(1, 10);
this.DataList1.DataBind();
}
}
از دوستان كسي ميدونه كه مشكل از كجاست . من فكر ميكنم مشكل از SP باشه ولي نميدونم از كجاش هست . :متفکر: اگر كسي ميدونه بگويد ممنون ميشم . :قلب::بوس::لبخندساده: