repater控件绑定后进行数据编辑 用repater控件绑定了员工信息我想实现当点击一个按钮是能够对repater绑定后的数据进行编辑不知道如何实现! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以是可以,但是我推荐你用listview或者gridview,里面有edit事件。你这个可以放一个按钮,在item里放一个panel,先隐藏,点击修改按钮的时候就将原来的隐藏,编辑的显示 http://www.cnblogs.com/treeyh/archive/2008/01/10/1034080.htmlhttp://blog.zjol.com.cn/user2/10707/archives/2007/112725.shtmlhttp://topic.csdn.net/u/20080610/14/c36c9703-0843-4dff-96dd-07796a3441aa.html?873563834http://topic.csdn.net/u/20080718/11/4c81cbdc-8795-4deb-8467-bb79bddf91b3.htmlhttp://caiyangliu.spaces.live.com/blog/cns!700f9463e92d4a88!378.entry repeater编辑更新删除 <asp:Repeater id="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound" OnItemCommand="Repeater1_ItemCommand"> <ItemTemplate> <asp:Panel ID="plItem" runat="server"> <tr> <td><%# DataBinder.Eval(Container.DataItem,"userid") %></td> <td><%# DataBinder.Eval(Container.DataItem,"username") %></td> <td> <asp:LinkButton runat="server" ID="lbtEdit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "userid")%>' CommandName="Edit" Text="编辑"></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtDelete" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "userid")%>' CommandName="Delete" Text="删除"></asp:LinkButton> </td> </tr> </asp:Panel> <asp:Panel ID="plEdit" runat="server"> <tr> <td><%# DataBinder.Eval(Container.DataItem,"userid") %></td> <td><asp:TextBox ID="UserName" Text='<%# DataBinder.Eval(Container.DataItem,"username") %>' runat="server"></asp:TextBox></td> <td> <asp:LinkButton runat="server" ID="lbtUpdate" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "userid")%>' CommandName="Update" Text="更新"></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtCancel" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "userid")%>' CommandName="Cancel" Text="取消"></asp:LinkButton> </td> </tr> </asp:Panel> </ItemTemplate> </asp:Repeater> public int id = 0; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindGrid(); } } private void BindGrid() { string sql = "select top 5 * from [user] order by userid desc"; OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("test.mdb")); OleDbDataAdapter da = new OleDbDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds, "temp"); Repeater1.DataSource = ds.Tables["temp"]; Repeater1.DataBind(); } protected void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { DataRowView rowv = (DataRowView)e.Item.DataItem; string userid = rowv["userid"].ToString(); if (userid != id.ToString()) { ((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 Repeater1_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") { //Update. string username = ((TextBox)this.Repeater1.Items[e.Item.ItemIndex].FindControl("UserName")).Text.Trim(); this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "key", "alert('更新ID:" + e.CommandArgument + ";页面值:姓名=" + username + "');", true); } else if (e.CommandName == "Delete") { //Delete. this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "key", "alert('删除ID:" + e.CommandArgument + "');", true); } BindGrid(); } gridview能实现吗?更新后还要保存到数据库中 http://topic.csdn.net/u/20100502/10/fa135868-5793-44d7-a9f1-85a6ac4dd3da.html 在对数据进行增、删、改、查中我一般都是在用GridView,Repater虽然很实用,但是在之方面我觉得不如GridView来得方便了。 GridView绑定的数据样式不是都是成列出现的嘛? 要实现该功能用repeater不好实现,还不如用gridveiw或者datalist呢 推介 repater 效率高 gridveiw 自带的功能好实现 repater 你加控件来实现 如何调用网络摄像机的视频画面? 如何在运行时判断自身程序集是Debug编译的还是Release编译的? 关于文件另存为的问题 lock this 的问题 打包问题。。 请问怎么用水晶报表打印一棵树?(如treeview中的内容) 如何实现按钮的顺序的自动触发? 非常简单的问题,轻松得分,有兴趣得进来看看!~ 问一个数据合并的问题? C#有没有集合类,只保存Key不保存value的? C/S客户端调用IE页面 标题上有?是怎么回事?
<asp:Repeater id="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<asp:Panel ID="plItem" runat="server">
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"userid") %></td>
<td><%# DataBinder.Eval(Container.DataItem,"username") %></td>
<td>
<asp:LinkButton runat="server" ID="lbtEdit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "userid")%>'
CommandName="Edit" Text="编辑"></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtDelete" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "userid")%>'
CommandName="Delete" Text="删除"></asp:LinkButton>
</td>
</tr>
</asp:Panel>
<asp:Panel ID="plEdit" runat="server">
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"userid") %></td>
<td><asp:TextBox ID="UserName" Text='<%# DataBinder.Eval(Container.DataItem,"username") %>' runat="server"></asp:TextBox></td>
<td>
<asp:LinkButton runat="server" ID="lbtUpdate" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "userid")%>'
CommandName="Update" Text="更新"></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtCancel" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "userid")%>'
CommandName="Cancel" Text="取消"></asp:LinkButton>
</td>
</tr>
</asp:Panel>
</ItemTemplate>
</asp:Repeater>
public int id = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
string sql = "select top 5 * from [user] order by userid desc";
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("test.mdb"));
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "temp");
Repeater1.DataSource = ds.Tables["temp"];
Repeater1.DataBind();
}
protected void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView rowv = (DataRowView)e.Item.DataItem;
string userid = rowv["userid"].ToString();
if (userid != id.ToString())
{
((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 Repeater1_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")
{
//Update.
string username = ((TextBox)this.Repeater1.Items[e.Item.ItemIndex].FindControl("UserName")).Text.Trim();
this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "key", "alert('更新ID:" + e.CommandArgument + ";页面值:姓名=" + username + "');", true);
}
else if (e.CommandName == "Delete")
{
//Delete.
this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "key", "alert('删除ID:" + e.CommandArgument + "');", true);
}
BindGrid();
}
repater 你加控件来实现