C# 小程序 (未完成)

分层:

功能框

数据库:


添加右侧的分支的功能:

Modal 是实体类就不用特别说明了


首先在DAL层

     public DataTable findAll()
        {
            List<TvType> list = new List<TvType>();
            string sql = "select * from tvtype";
            DataTable dt = SQLHelper.ExecuteDataTable(sql);
     
            return dt;
        }

之后在BLL层

 public DataTable findAll()
        {
            return dal.findAll();
        }
返回这个方法

    public void showTv()
        {
            tvlist.Nodes.Clear();
            TreeNode tn = new TreeNode("全部");
            tn.Tag = "4cd8c1bf-af1a-49d1-aabf-210ff9e4e46d";
            tvlist.Nodes.Add(tn);
            GetNode(tn, @"4cd8c1bf-af1a-49d1-aabf-210ff9e4e46d");
            tvlist.Nodes[0].Expand();
        }
        TvTypeBLL bll = new TvTypeBLL();
        private void GetNode(TreeNode tree,string parentId)
        {
            DataTable sourceData = bll.findAll();
            DataView dv = new DataView(sourceData);
            TreeNode tn = null;
            dv.RowFilter = "parenNodetid='" + parentId + "'";
            if (dv.Count > 0)
            {
                foreach (DataRowView drv in dv)
                {
                    tn = new TreeNode();
                    tn.Tag = drv["Nodeid"].ToString();
                    tn.Text = drv["Descire"].ToString();
                    tree.Nodes.Add(tn);
                    GetNode(tn, tn.Tag.ToString());
                }
            }
        }

然后将showTv()加入load事件


添加分支:

在DAL层 添加SQL 

public int add(TvType type) {
            string sql = "insert into tvtype(Nodeid,parenNodetid,Descire) values(@nid,@pid,@name)";
            SqlParameter[] paras ={
                                 new SqlParameter("@nid",type.NodeID),
                                  new SqlParameter("@pid",type.ParentNodeID),
                                   new SqlParameter("@name",type.Description)
                                 };
                                
            return SQLHelper.ExecuteNonQuery(sql,paras);
        }

     添加窗体的代码;

  string rnodename;
        TreeNode rnode;
        public Addtv(string mynodename, TreeNode mynode)
        {
            InitializeComponent();
            rnodename = mynodename;
            rnode = mynode;
        }
        TvTypeBLL bll = new TvTypeBLL();
        private void btnclose_Click(object sender, EventArgs e)
        {
            this.Close();
        }
      
        private void btnopen_Click(object sender, EventArgs e)
        {
         TvType tv=new TvType(){Description=txttypename.Text,NodeID=Guid.NewGuid().ToString(),
             ParentNodeID=rnode.Tag.ToString()};
             int count = bll.add(tv);
             if (txttypename.Text != null && txttypename.Text != "")
             {
                 if (count > 0)
                 {
                     TreeNode tn = new TreeNode();
                     tn.Text = txttypename.Text;
                     tn.Tag = tv.NodeID;
                     rnode.Nodes.Add(tn);
                     MessageBox.Show("添加成功!");
                 }
             }
             else {
                 MessageBox.Show("不能为空!!!");
             }
        }
    }
主窗体添加按钮的代码:

 TreeNode node = tvlist.SelectedNode;
            string nodetxt = node.Text;
            Addtv frm = new Addtv(nodetxt,node);
            frm.Show();


删除功能:

DAL层:

 public int delete(TvType type) {
            string sql = "delete from tvtype where Nodeid=@nodeid";
            SqlParameter[] paras ={
                            new SqlParameter("@nodeid",type.NodeID)  
                                
                                  };
            return SQLHelper.ExecuteNonQuery(sql,paras);
       
        }

BLL:

  public int delete(TvType type)
        {
            return dal.delete(type);
        }

主窗体代码:

  TreeNode tr = tvlist.SelectedNode;
            string typeid = tr.Tag.ToString();
            TvType type = new TvType() { NodeID = typeid };
            int count = bll.delete(type);
            if (count > 0)
            {
                tr.Remove();
                MessageBox.Show("删除成功!!!");

            }
            else {
                MessageBox.Show("失败!!!");
            }


修改:

DAL层

public bool Change(string Description,string nodeid) {
            bool flag = false;
            string sql = "update tvtype set Descire=@Description where nodeid=@nodeid";
            SqlParameter[] pares ={
                      new  SqlParameter("@Description",Description),
                      new SqlParameter("@nodeid",nodeid)
                               
                                };
            int count = SQLHelper.ExecuteNonQuery(sql,pares);
            if(count>0){
                flag = true;
            }
            return flag;
        }

Bll层

 public bool Change(string Description, string nodeid)
        {
            return dal.Change(Description, nodeid);
        }

修改窗体:

  TvTypeBLL bll=new TvTypeBLL();
        public  TreeNode node;
        private void btnclose_Click(object sender, EventArgs e)
        {
            Close();
        }
        private void btnupdate_Click(object sender, EventArgs e)
        {
            Save();
        }
        private  void LoadData(){
      
            txttypename.Text=node.Text;
        }
        private void Save() {
            string name = txttypename.Text;
            bool flag=bll.Change(name,node.Tag.ToString());
            if(flag){
            node.Text=name;
            }else{
           
                MessageBox.Show("emmmmmm 失败了!!!");

            }
        }
        private void Updatetv_Load(object sender, EventArgs e)
        {
            LoadData();
        }
修改按钮:
 private void btnupdate_Click(object sender, EventArgs e)
        {
            TreeNode selectNode = tvlist.SelectedNode;
            Updatetv frmup = new Updatetv();
            frmup.node = selectNode;
            frmup.node.Tag = selectNode.Tag;
            frmup.node.Text = selectNode.Text;
            frmup.Show();
          
        }


猜你喜欢

转载自blog.csdn.net/qq_39799629/article/details/80791737
今日推荐