DetailsView的添加,修改,删除,查询_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > DetailsView的添加,修改,删除,查询

DetailsView的添加,修改,删除,查询

 2014/4/6 21:08:03  悬崖上的指纹  博客园  我要评论(0)
  • 摘要:前台代码:<div><asp
  • 标签:view

前台代码:

class="brush:csharp;gutter:true;"><div>
        <asp:DetailsView ID="gvDepart" runat="server" AutoGenerateRows="False" OnItemDeleting="gvDepart_ItemDeleting" OnItemInserting="gvDepart_ItemInserting" OnItemUpdating="gvDepart_ItemUpdating" OnModeChanging="gvDepart_ModeChanging" DataKeyNames="DepartId">
            <Fields>
                <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("DepartId") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("DepartId") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("DepartId") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("DepartName") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("DepartName") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("DepartName") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("ParentId") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("ParentId") %>'></asp:TextBox>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("ParentId") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="操作" ShowHeader="False">
                    <InsertItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Insert" Text="插入"></asp:LinkButton>
                         <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消"></asp:LinkButton>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="New" Text="新建"></asp:LinkButton>
                        <asp:LinkButton ID="btnDelete" CausesValidation="false" CommandName="Delete"  CommandArgument='<%# Eval("DepartId") %>' Text="删除" runat="server" />
                        <asp:LinkButton ID="btnUpdate" CausesValidation="false" CommandName="Edit" CommandArgument='<%# Eval("DepartId") %>' Text="修改" runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update" CommandArgument='<%# Eval("DepartId") %>'  Text="修改"></asp:LinkButton>
                         <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消"></asp:LinkButton>
                    </EditItemTemplate>   
                </asp:TemplateField>
            </Fields>
        </asp:DetailsView>
    </div>

后台代码:

public partial class WebForm4 : System.Web.UI.Page
    {
        DepartmentInfoBLL bll = new DepartmentInfoBLL();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["departId"] == null) {
                Response.Redirect("WebForm3.aspx");
            }
            if (!IsPostBack) {
                InitDepart();
            }
        }

        private void InitDepart()
        {
            int departId = int.Parse(Request.QueryString["departId"]);
            IList<DepartmentInfo> list = bll.GetByDepartId(departId);
            this.gvDepart.DataSource = list;
            this.gvDepart.DataBind();
        }

        protected void gvDepart_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
        {
            int departId = int.Parse(e.CommandArgument.ToString());
            string departName = (this.gvDepart.Rows[1].FindControl("TextBox2") as TextBox).Text;
            int parentId =int.Parse((this.gvDepart.Rows[2].FindControl("TextBox3") as TextBox).Text);
            //执行修改的方法
            bll.Update(new DepartmentInfo() { DepartId=departId,DepartName=departName,ParentId=parentId,Remark=""});
            //返回到只读模式
            this.gvDepart.ChangeMode(DetailsViewMode.ReadOnly);
            //重新绑定数据
            InitDepart();
        }

        protected void gvDepart_ItemInserting(object sender, DetailsViewInsertEventArgs e)
        {
            int departId = int.Parse((this.gvDepart.Rows[0].FindControl("TextBox1") as TextBox).Text);
            string departName = (this.gvDepart.Rows[1].FindControl("TextBox2") as TextBox).Text;
            int parentId = int.Parse((this.gvDepart.Rows[2].FindControl("TextBox3") as TextBox).Text);
            //执行添加的方法
            bll.Insert(new DepartmentInfo() { DepartId=departId,DepartName=departName,ParentId=parentId,Remark=""});
            //跳转到转到详情页面的前面一个页面
            Response.Redirect("~/WebForm3.aspx");
        }

        protected void gvDepart_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
        {
            int departId = int.Parse(e.Keys[0].ToString());
            //执行删除的方法
            bll.DeleteByDepartId(departId);
            //跳转到转到详情页面的前面一个页面
            Response.Redirect("~/WebForm3.aspx");
        }

        protected void gvDepart_ModeChanging(object sender, DetailsViewModeEventArgs e)
        {
            //改变模式
            this.gvDepart.ChangeMode(e.NewMode);
            InitDepart();
        }
    }

  

发表评论
用户名: 匿名