想请大侠们帮完善下TREEVIEW+SQL数据库的代码设计,高分求各位帮忙啊~

谷海岸 2013-06-24 02:53:39
现在目前已经设计成这个样子了,能读出SQL数据库中的数据,并分好分类


现在想达到这个效果


1.添加“新增”,“编辑”,“删除”的功能,就是正常TREEVIEW需要填写的
2.把最终的物料代码规则在TextBox1里面显示出来。(规则已经在截图中说得比较明白了。


数据库的设计结构和一些内容




劳烦各位大侠出手了,请直接修改代码做成设计的成品,思路什么的说给我听,我也做不出来。。。。


目前的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;


namespace JMOA
{
public partial class dmclass : Form
{


SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=12345;database=JMOA");
SqlDataAdapter dtd;
DataSet ds;
DataView dv;//表示用于排序、筛选、搜索、编辑和导航的System.Data.DataTable+的可绑定数据的自定义视图

//private TreeNode Node;


public dmclass()
{

InitializeComponent();
}

//自定义方法
private void GetData(int pid, TreeNode pnode)
{
dv = ds.Tables[0].DefaultView;//获取可能包括筛选视图或游标位置的表的自定义视图
dv.RowFilter = "pid=" + pid;
int dvC = dv.Count;
if (pnode == null)
{
int i = 0;
while (i < dvC)
{
dv = ds.Tables[0].DefaultView;
dv.RowFilter = "pid=" + pid;

TreeNode node = new TreeNode();
node.Text = dv[i]["name"].ToString();
node.Tag = int.Parse(dv[i]["id"].ToString());

this.treeView1.Nodes.Add(node);

GetData((int)node.Tag, node);
i++;
}
}
else
{
int i = 0;
while (i < dvC)
{
dv = ds.Tables[0].DefaultView;
dv.RowFilter = "pid=" + pid;

TreeNode node = new TreeNode();
node.Text = dv[i]["name"].ToString();
node.Tag = int.Parse(dv[i]["id"].ToString());

pnode.Nodes.Add(node);

GetData(int.Parse(dv[i]["id"].ToString()), node);
i++;
}
}
}




//注意事项
//1.RowFilter查询,如果是字符串许加单引号
//2. node.Tag = dv[i]["id"].ToString();
/// <summary>
/// 绑定TreeView
/// </summary>
/// <param name="pid">父节点ID</param>
/// <param name="pnode">当前父节点</param>


private void dmclass_FormClosing(object sender, FormClosingEventArgs e)
{
fmain.f1 = null;
}

private void dmclass_Load(object sender, EventArgs e)
{
dtd = new SqlDataAdapter("select * from [class] order by id", conn);
ds = new DataSet();
dtd.Fill(ds, "class");
GetData(0, null);
}

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=12345;database=JMOA");
conn.Open();
string sqls = "select name as 物料名称,classdm as 物料代码 from class where name='" + treeView1.SelectedNode.Text + "'";

SqlDataAdapter adp = new SqlDataAdapter(sqls, conn);

DataSet dt = new DataSet();



adp.Fill(dt, "class");
conn.Close();

dataGridView1.DataSource = dt.Tables[0];

}

}
}


...全文
159 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Regan-lin 2013-06-25
  • 打赏
  • 举报
回复
引用 5 楼 u011130289 的回复:
其实也就是点击三个按键click每个按键对应不同的功能,删除就SQL里的delete语句,然后再 sqldelete ="delete 表名 where name='" + treeView1.SelectedNode.Text + "'"; SqlDataAdapter adp = new SqlDataAdapter(sqls, conn); DataSet dt = new DataSet(); adp.Fill(dt, "class"); conn.Close(); dataGridView1.DataSource = dt.Tables[0]; 你这句,其他两个都一样的很简单的!就是SQL语句有点不同!
这个已经是差不多完成的了,难道你连复制自己改下都懒得动手了?
_小黑_ 2013-06-25
  • 打赏
  • 举报
回复
没明白 你要实现什么
谷海岸 2013-06-25
  • 打赏
  • 举报
回复
求帮助啊,。。。~~~
谷海岸 2013-06-25
  • 打赏
  • 举报
回复
我也不是专业开发人员,如果我懂的话我早就弄了,还至于在这里求吗?就写4句代码就说已经快完工了。。。我都看出来不可能啊
Regan-lin 2013-06-24
  • 打赏
  • 举报
回复
其实也就是点击三个按键click每个按键对应不同的功能,删除就SQL里的delete语句,然后再 sqldelete ="delete 表名 where name='" + treeView1.SelectedNode.Text + "'"; SqlDataAdapter adp = new SqlDataAdapter(sqls, conn); DataSet dt = new DataSet(); adp.Fill(dt, "class"); conn.Close(); dataGridView1.DataSource = dt.Tables[0]; 你这句,其他两个都一样的很简单的!就是SQL语句有点不同!
谷海岸 2013-06-24
  • 打赏
  • 举报
回复
人呢?
谷海岸 2013-06-24
  • 打赏
  • 举报
回复
Return_false 大侠。。帮我搞完吧。。指望你了。。。我不是专业开发的。。单是被逼上架了。
  • 打赏
  • 举报
回复
如果连这点能力都没有,真的是件挺悲哀的事情 添加和编辑其实可以做一个弹出窗体,另作处理,只需把当前选中节点和需要的操作 传递即可 你最终想要的物料代码,也只是根据当前节点,往上做一个简单的递归
xpp1xpp 2013-06-24
  • 打赏
  • 举报
回复
好厉害的代码
一、简介 通过这个课程带大家从零开发一款功能全面的后台管理系统,包括项目搭建、功能实现到最后的Linux系统部署全过程。本课程使用SpringMVC + Spring + Mybatis作为主体框架,使用AdminLTE作为前端框架,使用主流关系型数据库Mysql作为存储数据库,使用非关系型数据库Redis作为缓存数据库,并集成SpringSecuriy安全框架做权限的动态管理,集成Swagger2自动生成接口文档,集成Druid连接池进行SQL性能监控,集成ActiveMQ消息中间件进行异步解耦,提高性能。最后使用linux系统进行服务部署,并搭建nginx反向代理服务器提高网站性能。 二、学习目标 通过本课程的学习带大家掌握SSM框架的开发流程,并熟练使用SpringSecurity做为安全框架进行权限管理,整合相关优秀的开源框架进行功能开发。还在项目中带大家学习前端相关的Jquery、Bootstrap等知识。课程结束之后希望大家能做到独立进行开发项目的目的,增强解决问题的能力,具备功能落地实现的能力。 三、课程涉及知识点 SpringMVC源码分析Mybatis源码分析通用MapperMysql数据库Redis缓存实现ActiveMQ消息中间件SpringSecurity鉴权Swagger2接口文档生成自定义注解AOP切面编程自定义过滤器Logback日志整合Druid性能监控Linux系统Nginx反向代理Ajax异步技术Jquery基本使用AdminLTE前端框架Chart图表-线状图和饼状图百度地图定位城市BootStrap前端框架BootStrap-Table插件BootStrap-Treeview插件Markdown编辑器403、404、500错误页面配置数据库事务消息提示插件toastr.js图片上传插件bootstrap fileinput数字滚动效果pv/uv流量统计...四、课程部分内容截图如下 1、首页 2、菜单管理 3、图床管理 4、图标管理 5、留言反馈管理 6、druid监控 7、登录日志

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧