DataList嵌套DataList

来源:互联网 发布:国税申报软件服务费 编辑:程序博客网 时间:2024/05/28 16:26
<asp:DataList ID="dllcompany" runat="server" DataKeyField="id" OnItemDataBound="dllcompany_ItemDataBound" OnItemCommand="dllcompany_ItemCommand">
    <ItemTemplate>
            <ul class="dllul">
                        <li id="btnview" runat="server">
                            <asp:LinkButton ID="LinkButton1" CommandName="view" class="ullia" runat="server">查看</asp:LinkButton></li>
                        <li id="btnadd" runat="server">
                            <asp:LinkButton ID="LinkButton2" CommandName="add" class="ullia" runat="server">增加</asp:LinkButton></li>
                        <li id="btnupdate" runat="server">
                            <asp:LinkButton ID="LinkButton3" CommandName="update" class="ullia" runat="server">修改</asp:LinkButton></li>
                        <li id="btndel" runat="server">
                            <asp:LinkButton ID="LinkButton4" CommandName="del" class="ullia" runat="server">删除</asp:LinkButton></li>
                    </ul>
          <asp:DataList ID="dllcenter" runat="server" DataKeyField="id" OnItemDataBound="dllcenter_ItemDataBound" OnItemCommand="dllcenter_ItemCommand">
                 <ItemTemplate>
                       <asp:DataList ID="dlldepart" runat="server" DataKeyField="id" OnItemDataBound="dlldepart_ItemDataBound" OnItemCommand="dlldepart_ItemCommand">
                            <ItemTemplate>
                                 <asp:DataList ID="dllduties" runat="server" DataKeyField="id" OnItemCommand="dllduties_ItemCommand">
                                       <ItemTemplate>
                                        </ItemTemplate>
                                 </asp:DataList>
                             </ItemTemplate>
                       </asp:DataList>
                  </ItemTemplate>
            </asp:DataList>
         </ItemTemplate>
</asp:DataList>
 
后台代码
 /// <summary>
    /// 公司绑定
    /// </summary>
    private void BindCompany()
    {
        List<Company> listcompany = CompanyAdapter.Instance.GetList();
        if (listcompany.Count > 0)
        {
            try
            {
                dllcompany.DataSource = listcompany;
                dllcompany.DataBind();
            }
            catch (Exception)
            {

            }
        }
    }
    /// <summary>
    /// 中心绑定
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void dllcompany_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataList dllcenter = (DataList)e.Item.FindControl("dllcenter");
            List<CenterGL> listcenter = CenterGLAdapter.Instance.LoadBycompanyid(Convert.ToInt32(dllcompany.DataKeys[e.Item.ItemIndex].ToString().Trim()));
            if (listcenter.Count > 0)
            {
                LinkButton dellink = (LinkButton)e.Item.FindControl("LinkButton4");
                dellink.Visible = false;
                dllcenter.DataSource = listcenter;
                dllcenter.DataBind();
            }
        }
    }
    /// <summary>
    /// 部门编辑
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void dllcenter_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataList dllcenter = (DataList)sender;
            DataList dlldepart = (DataList)e.Item.FindControl("dlldepart");
            List<Department> listdepart = DepartmentAdapter.Instance.LoadBycenterid(Convert.ToInt32(dllcenter.DataKeys[e.Item.ItemIndex].ToString().Trim()));
            if (listdepart.Count > 0)
            {
                LinkButton dellink = (LinkButton)e.Item.FindControl("LinkButton8");
                dellink.Visible = false;
                dlldepart.DataSource = listdepart;
                dlldepart.DataBind();
            }
        }
    }
    /// <summary>
    /// 职务绑定
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void dlldepart_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataList dlldepart = (DataList)sender;
            DataList dllduties = (DataList)e.Item.FindControl("dllduties");
            List<Duties> listduties = DutiesAdapter.Instance.LoadBydepartid(Convert.ToInt32(dlldepart.DataKeys[e.Item.ItemIndex].ToString().Trim()));
            if (listduties.Count > 0)
            {
                LinkButton dellink = (LinkButton)e.Item.FindControl("LinkButton12");
                dellink.Visible = false;
                dllduties.DataSource = listduties;
                dllduties.DataBind();
            }
        }
    }
    /// <summary>
    /// 公司编辑
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void dllcompany_ItemCommand(object source, DataListCommandEventArgs e)
    {
        DataList dlldepart = (DataList)source;
        int id = Convert.ToInt32(dlldepart.DataKeys[e.Item.ItemIndex].ToString().Trim());
        if (id != 0)
        {
            comadd.Visible = true;
            btnSave.Enabled = true;
            if (e.CommandName == "view")
            {
                Company company = CompanyAdapter.Instance.LoadByid(id);
                txtmc.Enabled = false;
                txtbz.Enabled = false;
                txtorders.Enabled = false;
                btnSave.Enabled = false;
                txtmc.Text = company.CompanyName;
                txtbz.Text = company.Remarks;
                txtorders.Text = company.orders.ToString();
            }
            if (e.CommandName == "add")
            {
                lbltable.Text = "Companyadd";
                lblid.Text = id.ToString();
                txtmc.Enabled = true;
                txtbz.Enabled = true;
                txtorders.Enabled = true;
                txtmc.Text = "";
                txtbz.Text = "";
                txtorders.Text = "";
            }
            if (e.CommandName == "update")
            {                
                Company company = CompanyAdapter.Instance.LoadByid(id);
                lbltable.Text = "Company";
                lblid.Text = id.ToString();
                txtmc.Enabled = true;
                txtbz.Enabled = true;
                txtorders.Enabled = true;
                txtmc.Text = company.CompanyName;
                txtbz.Text = company.Remarks;
                txtorders.Text = company.orders.ToString();
            }
            if (e.CommandName == "del")
            {
                comadd.Visible = false;
                if (CompanyAdapter.Instance.DeleteByid(id) != 0)
                {
                    Message.SendMessageParent("删除成功!", "/backstage/Company.aspx");
                }
            }
        }
    }
0 0