asi_hesam
پنج شنبه 09 اسفند 1386, 03:07 صبح
من از کد زیر برای قرار دادن اطلاعات پایگاه در دیتالیست و افزودن خاصیت paging به دیتالیست استفاده کردم .
protectedvoid Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
FetchDataToDataList();
}
}
privatevoid FetchDataToDataList()
{
SqlConnection con = newSqlConnection("Data Source=HESI;Initial Catalog=Test;Integrated Security=True");
SqlCommand cmd = newSqlCommand("select مسیر,عنوان from T", con);
con.Open();
PagedDataSource pagedDS = newPagedDataSource();
DataTable dt = newDataTable("_T");
dt.Load(cmd.ExecuteReader());
pagedDS.DataSource = dt.DefaultView;
pagedDS.AllowPaging = true;
pagedDS.PageSize = 5;
pagedDS.CurrentPageIndex = CurrentPage;
dlPaging.DataSource = pagedDS;
dlPaging.DataBind();
con.Close();
lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of " + pagedDS.PageCount.ToString();
cmdPrev.Enabled = !pagedDS.IsFirstPage;
cmdNext.Enabled = !pagedDS.IsLastPage;
}
publicint CurrentPage
{
get
{
object o = this.ViewState["_CurrentPage"];
if (o == null)
return 0;
else
return (int)o;
}
set
{
this.ViewState["_CurrentPage"] = value;
}
}
protectedvoid cmdNext_Click(object sender, EventArgs e)
{
CurrentPage += 1;
FetchDataToDataList();
}
protectedvoid cmdPrev_Click(object sender, EventArgs e)
{
CurrentPage -= 1;
FetchDataToDataList();
}
این کد هم واسه قسمت source برنامه هست
<tablewidth="100%"border="0">
<tr>
<td><asp:labelid="lblCurrentPage"runat="server"></asp:label></td>
</tr>
<tr>
<td><asp:buttonid="cmdPrev"runat="server"text=" << "OnClick="cmdPrev_Click"></asp:button>
<asp:buttonid="cmdNext"runat="server"text=" >> "OnClick="cmdNext_Click"></asp:button></td>
</tr>
</table>
<asp:DataListID="dlPaging"runat="server"RepeatColumns="5"BackColor="#CCCCCC"BorderColor="#999999"BorderStyle="Solid"BorderWidth="3px"CellPadding="4"CellSpacing="2"ForeColor="Black"GridLines="Both"RepeatDirection="Horizontal">
<ItemTemplate>
<asp:LabelID="Label2"runat="server"Text='<%#DataBinder.Eval(Container.DataItem,"مëیںë") %>'></asp:Label>
<asp:ImageButtonID="ImageButton1"runat="server"Height=100Width=100ImageUrl='<%#Path.Combine("~\\Images\\", Eval("ê«ی©").ToString()) %>'CommandName="Edit"/>
</ItemTemplate>
<FooterStyleBackColor="#CCCCCC"/>
<ItemStyleBackColor="White"/>
<SelectedItemStyleBackColor="#000099"Font-Bold="True"ForeColor="White"/>
<HeaderStyleBackColor="Black"Font-Bold="True"ForeColor="White"/>
</asp:DataList>
تا الان درسته حالا مشکل من اینه که میخوام روی یکی از imagebuttun ها کلیک کنم اطلاعات کلی آن نمایش داده شود البته خودم کمی پیش رفتم ولی وقتی صفحه رو عوض میکنم درست کار نمیکنه .. کسی میتونه راهنمائیم کنه؟؟
protectedvoid Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
FetchDataToDataList();
}
}
privatevoid FetchDataToDataList()
{
SqlConnection con = newSqlConnection("Data Source=HESI;Initial Catalog=Test;Integrated Security=True");
SqlCommand cmd = newSqlCommand("select مسیر,عنوان from T", con);
con.Open();
PagedDataSource pagedDS = newPagedDataSource();
DataTable dt = newDataTable("_T");
dt.Load(cmd.ExecuteReader());
pagedDS.DataSource = dt.DefaultView;
pagedDS.AllowPaging = true;
pagedDS.PageSize = 5;
pagedDS.CurrentPageIndex = CurrentPage;
dlPaging.DataSource = pagedDS;
dlPaging.DataBind();
con.Close();
lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of " + pagedDS.PageCount.ToString();
cmdPrev.Enabled = !pagedDS.IsFirstPage;
cmdNext.Enabled = !pagedDS.IsLastPage;
}
publicint CurrentPage
{
get
{
object o = this.ViewState["_CurrentPage"];
if (o == null)
return 0;
else
return (int)o;
}
set
{
this.ViewState["_CurrentPage"] = value;
}
}
protectedvoid cmdNext_Click(object sender, EventArgs e)
{
CurrentPage += 1;
FetchDataToDataList();
}
protectedvoid cmdPrev_Click(object sender, EventArgs e)
{
CurrentPage -= 1;
FetchDataToDataList();
}
این کد هم واسه قسمت source برنامه هست
<tablewidth="100%"border="0">
<tr>
<td><asp:labelid="lblCurrentPage"runat="server"></asp:label></td>
</tr>
<tr>
<td><asp:buttonid="cmdPrev"runat="server"text=" << "OnClick="cmdPrev_Click"></asp:button>
<asp:buttonid="cmdNext"runat="server"text=" >> "OnClick="cmdNext_Click"></asp:button></td>
</tr>
</table>
<asp:DataListID="dlPaging"runat="server"RepeatColumns="5"BackColor="#CCCCCC"BorderColor="#999999"BorderStyle="Solid"BorderWidth="3px"CellPadding="4"CellSpacing="2"ForeColor="Black"GridLines="Both"RepeatDirection="Horizontal">
<ItemTemplate>
<asp:LabelID="Label2"runat="server"Text='<%#DataBinder.Eval(Container.DataItem,"مëیںë") %>'></asp:Label>
<asp:ImageButtonID="ImageButton1"runat="server"Height=100Width=100ImageUrl='<%#Path.Combine("~\\Images\\", Eval("ê«ی©").ToString()) %>'CommandName="Edit"/>
</ItemTemplate>
<FooterStyleBackColor="#CCCCCC"/>
<ItemStyleBackColor="White"/>
<SelectedItemStyleBackColor="#000099"Font-Bold="True"ForeColor="White"/>
<HeaderStyleBackColor="Black"Font-Bold="True"ForeColor="White"/>
</asp:DataList>
تا الان درسته حالا مشکل من اینه که میخوام روی یکی از imagebuttun ها کلیک کنم اطلاعات کلی آن نمایش داده شود البته خودم کمی پیش رفتم ولی وقتی صفحه رو عوض میکنم درست کار نمیکنه .. کسی میتونه راهنمائیم کنه؟؟