⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 standardchoice.ascx.cs

📁 asp.net 2.0的教务管理软件源码
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class uctl_StandardChoice : System.Web.UI.UserControl
{
    private int depth = 0;
    private int selectedValue;
    private bool isFirstNode = true;
    private bool showRootNode = false;
    private int rootID = 0;
    private String rootName = "";
    private delegate void needReDrawEventHander();

    public void Page_Load(Object sender, EventArgs e)
    {
        if(!IsPostBack)
        ReDraw();
    }

    public int RootID
    {
        get { return rootID; }
        set { rootID = value; }
    }

    //是否显示根结点作为一个选项
    public bool ShowRootNode
    {
        get { return showRootNode; }
        set { showRootNode = value;}
    }

    public String RootName
    {
        get { return rootName; }
        set
        { rootName = value.Trim();}
    }

    public bool Enabled
    {
        get { return Drop.Enabled; }
        set { Drop.Enabled = value; }
    }

    public int SelectedValue
    {
        get { return Convert.ToInt32(Drop.Text); }
        set { selectedValue = value; ReDraw(); }
    }

    public void ReDraw()
    {
        Drop.Items.Clear();
        isFirstNode = true;
        if (rootName != "" && rootID == 0)
        {
            string sql = "select ac_Code from J_AllCode where rtrim(ac_Name)='" + rootName + "'";
            DataTable dt = DBExec.ExecDataTable(sql);
            if (dt.Rows.Count != 0)
                rootID = Convert.ToInt32(dt.Rows[0][0]);
        }
        if (!showRootNode)
        {
            Drop.Items.Add(new ListItem("-未选定-", "0"));
        }
        if (rootID > 0) tree(rootID);
    }


    private string space(int i)
    {
        string s = "";
        for (int j = 0; j < i; j++)
            s += " ";
        return s;
    }

    //递归生成树结构
    private void tree(int classid)
    {
        string classname;
        char head;
        String sql = "select * from J_AllCode where ac_Code=" + classid;
        DataTable dt = DBExec.ExecDataTable(sql);
        if (dt.Rows[0] != null)
        {
            classname = dt.Rows[0]["ac_Name"].ToString();
            classid = Convert.ToInt32(dt.Rows[0]["ac_Code"]);

            sql = "select * from J_AllCode where ac_ParentCode=" + classid;
            dt = DBExec.ExecDataTable(sql);
            if (!isFirstNode || showRootNode)
            {
                head = (dt.Rows.Count != 0) ? '+' : '-';
                classname = space(depth) + head + classname;
                ListItem li = new ListItem(classname, classid.ToString());
                li.Selected = (classid == selectedValue);
                Drop.Items.Add(li);
                depth++;
            }
            isFirstNode = false;
            foreach (DataRow dr in dt.Rows)
            {
                int tempd = depth;
                tree(Convert.ToInt32(dr[0]));
                depth = tempd;
            }
            dt.DataSet.Dispose();
        }
        else
        {
            classname = ID.ToString() + "无效";
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -