repeater的编辑,更新,删除

来源:互联网 发布:航道大数据分析方案 编辑:程序博客网 时间:2024/05/01 21:07

前台:

  1. <asp:Repeater id="Repeater1" runat="server"OnItemDataBound="Repeater1_ItemDataBound"OnItemCommand="Repeater1_ItemCommand">
  2.        <ItemTemplate>
  3.           <asp:Panel ID="plItem"runat="server">
  4.           <tr>
  5.              <td><%#DataBinder.eval_r(Container.DataItem,"userid")%></td>
  6.              <td><%#DataBinder.eval_r(Container.DataItem,"username")%></td>
  7.              <td>
  8.                  <asp:LinkButton runat="server"ID="lbtEdit" CommandArgument='<%#DataBinder.eval_r(Container.DataItem,"userid")%>'
  9.                   CommandName="Edit"Text="编辑"></asp:LinkButton>&nbsp;&nbsp;&nbsp;
  10.                  <asp:LinkButton runat="server"ID="lbtDelete" CommandArgument='<%#DataBinder.eval_r(Container.DataItem,"userid")%>'
  11.                   CommandName="Delete"Text="删除"></asp:LinkButton>
  12.              </td>
  13.           </tr>
  14.           </asp:Panel>
  15.           
  16.           <asp:Panel ID="plEdit"runat="server">
  17.           <tr>
  18.              <td><%#DataBinder.eval_r(Container.DataItem,"userid")%></td>
  19.              <td><asp:TextBoxID="UserName" Text='<%#DataBinder.eval_r(Container.DataItem,"username") %>'runat="server"></asp:TextBox></td>
  20.              <td>
  21.                  <asp:LinkButton runat="server"ID="lbtUpdate" CommandArgument='<%#DataBinder.eval_r(Container.DataItem,"userid")%>'
  22.                   CommandName="Update"Text="更新"></asp:LinkButton>&nbsp;&nbsp;&nbsp;
  23.                  <asp:LinkButton runat="server"ID="lbtCancel" CommandArgument='<%#DataBinder.eval_r(Container.DataItem,"userid")%>'
  24.                   CommandName="Cancel"Text="取消"></asp:LinkButton>
  25.               </td>
  26.           </tr>
  27.           </asp:Panel>           
  28.        </ItemTemplate>
  29.      </asp:Repeater>

后台:

  1.    public int id = 0;
  2.    protected void Page_Load(object sender,EventArgs e)
  3.    {
  4.        if(!IsPostBack)
  5.       {
  6.           BindGrid();
  7.       }
  8.    }
  9.    private void BindGrid()
  10.    {
  11.        string sql= "select top 5 * from [user] order by userid desc";
  12.       OleDbConnection conn = newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" +Server.MapPath("test.mdb"));
  13.       OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
  14.        DataSet ds= new DataSet();
  15.       
  16.       da.Fill(ds, "temp");
  17.       Repeater1.DataSource = ds.Tables["temp"];
  18.       Repeater1.DataBind();
  19.    }

  20.    protected void Repeater1_ItemDataBound(objectsender, System.Web.UI.WebControls.RepeaterItemEventArgse)
  21.    {
  22.        if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==ListItemType.AlternatingItem)
  23.       {
  24.           DataRowView rowv =(DataRowView)e.Item.DataItem;
  25.           string userid =rowv["userid"].ToString();
  26.           if (userid !=id.ToString())
  27.           {
  28.              ((Panel)e.Item.FindControl("plItem")).Visible =true;
  29.              ((Panel)e.Item.FindControl("plEdit")).Visible =false;
  30.           }
  31.           else
  32.           {
  33.              ((Panel)e.Item.FindControl("plItem")).Visible =false;
  34.              ((Panel)e.Item.FindControl("plEdit")).Visible =true;
  35.           }
  36.       }
  37.    }

  38.    protected void Repeater1_ItemCommand(objectsource, RepeaterCommandEventArgs e)
  39.    {
  40.        if(e.CommandName == "Edit")
  41.       {
  42.           id =int.Parse(e.CommandArgument.ToString());
  43.       }
  44.        else if(e.CommandName == "Cancel")
  45.       {
  46.           id = -1;
  47.       }
  48.        else if(e.CommandName == "Update")
  49.       {
  50.           //Update.
  51.           string username =((TextBox)this.Repeater1.Items[e.Item.ItemIndex].FindControl("UserName")).Text.Trim();
  52.          this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(),"key", "alert('更新ID:" + e.CommandArgument + ";页面值:姓名=" + username +"');", true);
  53.       }
  54.        else if(e.CommandName == "Delete")
  55.       {
  56.          //Delete.            
  57.          this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(),"key", "alert('删除ID:" + e.CommandArgument + "');",true);
  58.       }
  59.       BindGrid();
  60.    }
0 0