Repeater
一、Repeater模板
1、<HeaderTemplate>头模板
2、<ItemTemplate>项模板
3、<AlternatingItemTemplate>交替模板
4、<SeparatorTemplate>分隔符模板
5、<FooterTemplate>脚模板
二、数据处理
1、绑定数据源
2、删除
3、编辑
4、分页
--具体使用
1、绑定数据源
ds=数据源
this.Repeater1.DataSource = ds;
this.Repeater1.DataBind();
2、删除
(1)<ItemTemplate> <asp:LinkButton ID="btnDelete" runat="server" Text="删除"
CommandName='Delete' CommandArgument='<%# Eval("sid") %>'></asp:LinkButton> </ItemTemplate>
(2) protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
string str = ConfigurationManager.ConnectionStrings["stucnn"].ConnectionString;
using (SqlConnection sqlCnn = new SqlConnection(str))
{
using (SqlCommand sqlCmm = sqlCnn.CreateCommand())
{
sqlCnn.Open();
sqlCmm.CommandText = "delete from student where sid="
+ e.CommandArgument.ToString();
sqlCmm.ExecuteNonQuery();
}
}
this.BindStudent();
}
}
4、分页
(1) <asp:Button ID="btnFirst" runat="server" Text="|<" οnclick="btnFirst_Click" />
<asp:Button ID="btnPrev" runat="server" Text="<" οnclick="btnPrev_Click" />
<asp:Button ID="btnNext" runat="server" Text=">" οnclick="btnNext_Click" />
<asp:Button ID="btnLast" runat="server" Text=">|" οnclick="btnLast_Click" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="btnJump" runat="server" οnclick="btnJump_Click" Text="go"/>
(2) protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
BindStudent("1");
}
private void BindStudent(string pageindex)//绑定数据源
{
string str = ConfigurationManager.ConnectionStrings["stucnn"].ConnectionString;
using (SqlConnection sqlCnn = new SqlConnection(str))
{
using (SqlDataAdapter da = new SqlDataAdapter("sp_Student_Select_by_Page_rowNumber", sqlCnn))
{
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddWithValue("@pageIndex", pageindex);
da.SelectCommand.Parameters.Add("@pageCount", SqlDbType.Int).Direction = ParameterDirection.Output;
da.SelectCommand.Parameters.AddWithValue("@pageSize", 1);
DataSet ds = new DataSet();
da.Fill(ds);
this.Repeater1.DataSource = ds;
this.Repeater1.DataBind();
this.HiddenField1.Value = pageindex;
this.HiddenField2.Value = da.SelectCommand.Parameters["@pageCount"].Value.ToString();
this.Label1.Text = "第" + Convert.ToString(this.HiddenField1.Value) + "页/共" + Convert.ToString(this.HiddenField2.Value) + "页";
}
}
}
protected void btnFirst_Click(object sender, EventArgs e)//跳到首页
{
this.BindStudent("1");
}
protected void btnPrev_Click(object sender, EventArgs e)//跳到上一页
{
int i=Convert.ToInt32(this.HiddenField1.Value);
if (i > 0)
{
i--;
}
string index = i.ToString();
this.BindStudent(index);
}
protected void btnNext_Click(object sender, EventArgs e)//跳到下一页
{
int i = Convert.ToInt32(this.HiddenField1.Value);
int total = Convert.ToInt32(this.HiddenField2.Value);
if (i < total)
{
i++;
}
string index = i.ToString();
this.BindStudent(index);
}
protected void btnLast_Click(object sender, EventArgs e)//跳到最后一页
{
string index = Convert.ToString(this.HiddenField2.Value);
this.BindStudent(index);
}
protected void btnJump_Click(object sender, EventArgs e)//跳到指定页
{
int total = Convert.ToInt32(this.HiddenField2.Value);
int i=Convert.ToInt32(this.TextBox1.Text);
if (i <= total)
{
string index = this.TextBox1.Text;
this.BindStudent(index);
}
}