-----------------------后台using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Configuration;
using Maticsoft.Common;
using System.Drawing;
using LTP.Accounts.Bus;
using System.IO;
using CMMP.Model;
namespace CMMP.Web.AD_Detail
{
    public partial class List : Page
    {
        /// <summary>
        /// 行政区划基本情况表
        /// </summary>
        TreeNode parent;//父节点
        public StringBuilder ff = new StringBuilder();//用来存放添加是treeview选中值
        DataTable ds = new DataTable(); //存放总的数据/或者是查询的数据
        TreeNode cparent = new TreeNode();
        CMMP.BLL.AD_CD_B bll = new CMMP.BLL.AD_CD_B();
        protected string strMap = "";        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                BindData();
            }
        }        private void BindData()
        {
            //根据OrderId,NodeCode asc 排序获得的数据记录集
            string sqf = "select * from AD_CD_B,AD_Info_B where AD_CD_B.ADCD=AD_Info_B.ADCD ";
            DataSet dt = bll.GetAllList();
            DataTable ds = Maticsoft.DBUtility.DBHelper.GetDataSet(sqf);
            //复制ds的结构
            DataTable nds = ds.Clone();
            if (ds.Rows.Count != 0)
            {
                for (int j = 0; j < ds.Rows.Count; j++)
                {
                    if (ds.Rows[j]["ADCD"].ToString().Length == 6)
                    {
                        //根节点保证首先加载
                        strMap += "0,";
                        //县级编码
                        nds.Rows.Add(ds.Rows[j].ItemArray);
                    }
                    if (ds.Rows[j]["ADCD"].ToString().Length == 9)
                    {
                        string ad = ds.Rows[j]["ADCD"].ToString();
                        //镇几编码
                        nds.Rows.Add(ds.Rows[j].ItemArray);
                        strMap += "1,";
                        DataRow[] dr = ds.Select("ADCD like '" + ad + "%'");
                        //记录当前汗死
                        int nc = nds.Rows.Count;
                        foreach (DataRow d in dr)
                        {
                            //村级编码
                            strMap += nc + ",";
                            nds.Rows.Add(d.ItemArray);
                        }
                    }
                }
            }
            else
            {
            }
            //// Model.AD_Info_B
            //IList<Model.AD_CD_B> catalogs = bll.DataTableToList(ds);            //IList<Model.AD_CD_B> items = new List<Model.AD_CD_B>();            ////对原有的数据进行重新排序
            //foreach (Model.AD_CD_B item in catalogs)
            //{
            //    if (item.ADCD.ToString() != "")
            //    {
            //添加到排序后的数据集中
            //items.Add(item);
            //生成JQTreeTable要的参数格式
            //if (strMap == "")
            //    strMap = "0";
            //else strMap += ",0";
            //如果不是叶子节点,对子节点进行排序
            //if (item.ADCD.ToString().Length == 6)
            //{
            //    string a = item.ADCD.ToString();
            //    strMap += "0,1";
            //    // ResetItems(catalogs, items, item.ADCD);
            //}
            //else if (item.ADCD.ToString().Length == 9)
            //{
            //    int n = 1;
            //    strMap += ",0,1,'"+n+"'";
            //    n++;
            //}
            //else
            //{
            //    strMap += ",2,2";
            //}
            //strMap = "0,1,2,2,2,2,2,1,8,8,8,8,8,8,1,15,15,15,15,15";
            ////}nds
            rptList.DataSource = nds;
            rptList.DataBind();
        }        /**/
        /// <summary>
        /// 递归排序
        /// </summary>
        /// <param name="oItems">原数据集</param>
        /// <param name="nItems">排序后的数据集</param>
        /// <param name="parentCode">上级编码</param>
        //private void ResetItems(IList<AD_CD_B> oItems, IList<AD_CD_B> nItems, string parentCode)
        //{
        //    //保存当前排序后的数据集的记录数
        //    int CurrentNum = nItems.Count;        //    foreach (AD_CD_B item in oItems)
        //    {
        //        if (item.ADCD == parentCode)
        //        {
        //            //生成JQTreeTable要的参数格式
        //            if (strMap == "")
        //                strMap = "0";
        //            else strMap += "," + CurrentNum.ToString();
        //            //添加到排序后的数据集中
        //            nItems.Add(item);
        //            //如果不是叶子节点,对子节点进行排序
        //            if (item.ADCD.ToString().Length == 9)
        //            {
        //                ResetItems(oItems, nItems, item.ADCD);
        //            }
        //        }
        //    }
        //}        protected void lbtnAdd_Click(object sender, EventArgs e)
        {
            Response.Redirect("CatalogAddEdit.aspx", true);
        }        protected bool GetVisible(object url)
        {
            if (String.IsNullOrEmpty(url.ToString()))
                return false;
            else return true;
        }        //删除记录
        protected void rptList_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            try
            {
                if (e.CommandName.ToLower() == "delete")
                {
                    int Id = Convert.ToInt32(e.CommandArgument.ToString());
                    // bll.DeleteAll(new int[] { Id });
                    //bll.DeleteList("");
                    Response.Redirect("CatalogList.aspx", true);
                }
            }
            catch
            {
                MessageBox.Show(this, "数据删除出错!");
            }
        }        protected void rptList_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            try
            {
                AD_CD_B item = (AD_CD_B)e.Item.DataItem;
                LinkButton lbtn = (LinkButton)e.Item.FindControl("lbtnDel");
                if (item == null || lbtn == null)
                    return;                if (item.ADCD.ToString().Length == 9)
                {
                    lbtn.OnClientClick = "return confirm('确定要删除该记录吗?');";
                }
                else
                {
                    lbtn.Enabled = false;
                    lbtn.OnClientClick = "alert('该栏目存在子栏目,不能删除!');return false;";
                }            }
            catch
            {            }
        }    }
}