Repeater控件實(shí)現(xiàn)編輯、更新、刪除等操作示例代碼
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
string strSQL = "SELECT * FROM [User]";
OleDbConnection objConnection = new OleDbConnection(GetStrConnection());
objConnection.Open();
OleDbCommand objCommand = new OleDbCommand(strSQL, objConnection);
OleDbDataReader reader = objCommand.ExecuteReader(CommandBehavior.CloseConnection);
rptUser.DataSource = reader;
rptUser.DataBind();
}
protected void rptUser_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
System.Data.Common.DbDataRecord record = (System.Data.Common.DbDataRecord)e.Item.DataItem;
int userId = int.Parse(record["UserId"].ToString());
if (userId != id)
{
((Panel)e.Item.FindControl("plItem")).Visible = true;
((Panel)e.Item.FindControl("plEdit")).Visible = false;
}
else
{
((Panel)e.Item.FindControl("plItem")).Visible = false;
((Panel)e.Item.FindControl("plEdit")).Visible = true;
}
}
}
protected void rptUser_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
id = int.Parse(e.CommandArgument.ToString());
}
else if (e.CommandName == "Cancel")
{
id = -1;
}
else if (e.CommandName == "Update")
{
string name = ((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txtName")).Text.Trim();
string email = ((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txtEmail")).Text.Trim();
string qq = ((TextBox)this.rptUser.Items[e.Item.ItemIndex].FindControl("txtQQ")).Text.Trim();
string strSQL = "UPDATE [User] SET Name=@Name,Email=@Email,QQ=@QQ WHERE UserId=@UserId";
OleDbConnection objConnection = new OleDbConnection(GetStrConnection());
OleDbCommand objCommand = new OleDbCommand(strSQL, objConnection);
objCommand.Parameters.Add("@Name", OleDbType.VarWChar);
objCommand.Parameters["@Name"].Value = name;
objCommand.Parameters.Add("@Email", OleDbType.VarWChar);
objCommand.Parameters["@Email"].Value = email;
objCommand.Parameters.Add("@QQ", OleDbType.VarWChar);
objCommand.Parameters["@QQ"].Value = qq;
objCommand.Parameters.Add("@UserId", OleDbType.Integer);
objCommand.Parameters["@UserId"].Value = int.Parse(e.CommandArgument.ToString());
objConnection.Open();
objCommand.ExecuteNonQuery();
objConnection.Close();
}
else if (e.CommandName == "Delete")
{
string strSQL = "DELETE * FROM [User] WHERE UserId=@UserId";
OleDbConnection objConnection = new OleDbConnection(GetStrConnection());
OleDbCommand objCommand = new OleDbCommand(strSQL, objConnection);
objCommand.Parameters.Add("@UserId", OleDbType.Integer);
objCommand.Parameters["@UserId"].Value = int.Parse(e.CommandArgument.ToString());
objConnection.Open();
objCommand.ExecuteNonQuery();
objConnection.Close();
}
BindGrid();
}
private string GetStrConnection()
{
return "Provider=Microsoft.Jet.OleDb.4.0;data source=" + Server.MapPath("~/Database/test.mdb");
}
<</CODE>form id="form1" runat="server">
<</CODE>asp:Repeater ID="rptUser" runat="server" onitemcommand="rptUser_ItemCommand"
onitemdatabound="rptUser_ItemDataBound">
<</CODE>HeaderTemplate>
<</CODE>table width="960" align="center" cellpadding="3" cellspacing="1" style="background-color: #ccc;">
<</CODE>thead style="background-color: #eee;">
<</CODE>tr>
<</CODE>th width="10%">
用戶ID
</</CODE>th>
<</CODE>th>
用戶名
</</CODE>th>
<</CODE>th width="22%">
郵件
</</CODE>th>
<</CODE>th width="20%">
</</CODE>th>
<</CODE>th width="15%">
注冊(cè)時(shí)間
</</CODE>th>
<</CODE>th width="12%">
操作
</</CODE>th>
</</CODE>tr>
</</CODE>thead>
<</CODE>tbody style="background-color: #fff;">
</</CODE>HeaderTemplate>
<</CODE>ItemTemplate>
<</CODE>asp:Panel ID="plItem" runat="server">
<</CODE>tr style="text-align: center;">
<</CODE>td>
- asp.net使用Repeater控件中的全選進(jìn)行批量操作實(shí)例
- ASP.NET中repeater控件用法實(shí)例
- 在Repeater控件中通過(guò)Eval的方式綁定Style樣式代碼
- Repeater控件與PagedDataSource結(jié)合實(shí)現(xiàn)分頁(yè)功能
- 給Repeater控件里添加序號(hào)的5種才常見(jiàn)方法介紹
- Repeater控件綁定的三種方式
- Repeater控件動(dòng)態(tài)變更列(Header,Item和Foot)信息實(shí)現(xiàn)思路
- 如何取得Repeater控件選擇的項(xiàng)目及注意事項(xiàng)
- Repeater控件分別綁定數(shù)組和ArrayList實(shí)現(xiàn)思路
- Repeater控件數(shù)據(jù)導(dǎo)出Excel(附演示動(dòng)畫(huà))
- 淺析Repeater控件的使用 (原樣導(dǎo)出和動(dòng)態(tài)顯示/隱藏Repeater中的列)
相關(guān)文章
ASP.NET中利用DataList實(shí)現(xiàn)圖片無(wú)縫滾動(dòng) 實(shí)例分享
這個(gè)問(wèn)題之前也困擾我,后來(lái)解決了,拿出來(lái)分享下,以后用也方便,代碼很容易看懂,不多說(shuō)什么了2013-06-06用WebClient.UploadData方法上載文件數(shù)據(jù)的方法
用WebClient.UploadData方法上載文件數(shù)據(jù)的方法...2007-04-04Queryable.Union 方法實(shí)現(xiàn)json格式的字符串合并的具體實(shí)例
這篇文章介紹了Queryable.Union 方法實(shí)現(xiàn)json格式的字符串合并的具體實(shí)例,有需要的朋友可以參考一下2013-10-10asp.net aspnetpager分頁(yè)統(tǒng)計(jì)時(shí)與實(shí)際不符的解決辦法
最近分頁(yè)方面根據(jù)實(shí)際需要修改了一些函數(shù)2008-11-11.NET+PostgreSQL實(shí)踐與避坑指南(推薦)
這篇文章主要介紹了.NET+PostgreSQL實(shí)踐與避坑指南,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01使用DataTable更新數(shù)據(jù)庫(kù)(增,刪,改)
使用DataTable更新數(shù)據(jù)庫(kù)(增,刪,改),需要的朋友可以參考一下2013-03-03gridview中實(shí)現(xiàn)radiobutton的單選示例
radiobutton可以單選,于是想讓gridview也可以實(shí)現(xiàn),具體的思路及代碼如下,感興趣的朋友可以參考下2013-08-08