点击treeview节点绑定对应的数据到gridview

认真学编程 2010-07-29 02:34:31
有一个treeview1控件和gridview1控件,当点击treeview1中某一节点时,将access数据表中“城市”这一列中值为该节点值的数据绑定到gridview1控件中,例如点击南京,则前两条数据显示到gridview1控件中,请教要怎么实现啊?
treeview1节点大致如下:
江苏省
---南京
---苏州
---无锡
浙江省
---杭州
---宁波
---绍兴
数据表大致如下:
序号 货物编号 城市 所在省份
1 1001 南京 江苏省
2 1002 南京 江苏省
3 2003 宁波 浙江省

还想请教下,gridview控件绑定AccessDataSource,想解除数据绑定,写代码怎么实现;
还有绑定数据库总提示“至少一个参数没有被指定值”是什么意思啊?谢谢各位啦!

...全文
428 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
认真学编程 2010-07-30
  • 打赏
  • 举报
回复
问题总算是解决了,谢谢大家的帮忙!
认真学编程 2010-07-30
  • 打赏
  • 举报
回复
代码运行后没结果,也不提示错误,不知道问题出在哪了
宇峰科技 2010-07-30
  • 打赏
  • 举报
回复
比较简单,简单说一下思路,当点击一个treeview节点后,获取数据,再将数据赋给将要绑定给dgv的datatable,这样就OK 了
w3c5201314 2010-07-30
  • 打赏
  • 举报
回复
在TreeView的SelectedNodeChanged事件中去写你那些代码。
搞不懂你还要指点啥?
认真学编程 2010-07-30
  • 打赏
  • 举报
回复
第一个问题,望指点
xrongzhen 2010-07-30
  • 打赏
  • 举报
回复
AccessDataSource不要设置成表 设置成SQL
dodducs 2010-07-30
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100724/18/B5927DBB-BB6B-40E3-858C-4063D2479EFC.html

看看这个吧 最近很火的一个帖子
w3c5201314 2010-07-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zhangjian5206 的回复:]
提示“至少一个参数没有被指定值”的问题总算解决了, 应该是OleDbCommand cmd = new OleDbCommand("select * from xzmsg where 城市'" + TreeViewId + "'", odcn);谢谢!
继续请教!
[/Quote]
Access 的参数怎么这么配呢?太高深了。
你已经解决了,还有什么问题呢?
eastzheng1 2010-07-29
  • 打赏
  • 举报
回复
/// <summary>
/// 单击treeview某个节点事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
string Tnode = e.Node.Text; //获取节点文本
this.dataGridView1.DataSource = 查询结果
}
认真学编程 2010-07-29
  • 打赏
  • 举报
回复
提示“至少一个参数没有被指定值”的问题总算解决了, 应该是OleDbCommand cmd = new OleDbCommand("select * from xzmsg where 城市'" + TreeViewId + "'", odcn);谢谢!
继续请教!
w3c5201314 2010-07-29
  • 打赏
  • 举报
回复
你的GridView是不是还默认配有方法,就是第一次访问时加载数据是不是用的其他方法?
认真学编程 2010-07-29
  • 打赏
  • 举报
回复
能打开
w3c5201314 2010-07-29
  • 打赏
  • 举报
回复
你先测试你数据库连接打的开不,再测 OleDbCommand cmd = new OleDbCommand("select * from xzmsg where 城市=" + TreeViewId + "", odcn);这个,开有没问题。
认真学编程 2010-07-29
  • 打赏
  • 举报
回复
不行啊,难道是数据库字段问题,百思不得其解
w3c5201314 2010-07-29
  • 打赏
  • 举报
回复
Access的链接我看不懂
OleDbCommand cmd = new OleDbCommand("select * from xzmsg where 城市=" + TreeViewId + "", odcn);
odcn.Open();
你把这两个的执行顺序交换一下呢
认真学编程 2010-07-29
  • 打赏
  • 举报
回复
在OleDbDataReader obrd = cmd.ExecuteReader()提示
w3c5201314 2010-07-29
  • 打赏
  • 举报
回复
看不出问题,你调试看看问题出在哪步
认真学编程 2010-07-29
  • 打赏
  • 举报
回复
我自己写了下代码
protected void TreeView1_afterselect(object sender, EventArgs e)
{
OleDbConnectionStringBuilder csb = new OleDbConnectionStringBuilder();
csb.DataSource = @"\city.mdb";
csb.Provider = "microsoft.jet.oledb.4.0";
using (OleDbConnection odcn = new OleDbConnection(csb.ConnectionString))
{
DataSet ds = new DataSet();
string TreeViewId = this.TreeView1.SelectedNode.ToString();
OleDbCommand cmd = new OleDbCommand("select * from xzmsg where 城市=" + TreeViewId + "", odcn);
odcn.Open();
using (OleDbDataReader obrd = cmd.ExecuteReader())
{
ds.Load(obrd , LoadOption.OverwriteChanges, new string[] { "xzmsg" });
}
GridView1.DataSource = ds;
GridView1.DataBind();
odcn.Close();
}
}
提示说“至少一个参数没有被指定值”,请指点啊
josxhn 2010-07-29
  • 打赏
  • 举报
回复
第一个问题:在TreeView控件定义一个节点选中事件响应函数,大概是NodeSelected这样子
一个TreeViewNode存储信息的地方有三个,分别是Node.Text,Node.Name,Node.Tag
其中Text就是存储一个简单的文本,也就是结点在树中显示出来的文本,不要求唯一
Name相当于你的节点的标识符,唯一的,可以用来定位节点,比如TreeView1.Nodes["name1"],
Tag可以赋值为一个Object类型,就是可以往一个节点上挂任意一个对象
所以你可以获取这三个属性中任意一个的值,最简单的就是text,
然后根据text在数据库里面查对应的记录

第二个问题:我一般是DataGridView.DataSource=xxx,或者DataGridView.DataSource=null
你是手动绑定的怎么解不清楚

最后个问题:贴代码来看看,这个提示看起来应该是调用某个函数的时候传参不完全,或者传参过去是nullz值
w3c5201314 2010-07-29
  • 打赏
  • 举报
回复
在TreeView的SelectedNodeChanged事件中
获取TreeVeiew所选节点数据,
string bmmc = this.bmTV.SelectedNode.Text; //bmTV就是TreeVeiew,bmGV是GridView
string spsxbh = this.bmTV.SelectedNode.Value;
bmGV.DataSource = new GVDataource().GetDataSource(bmmc, spsxbh);//后台重新绑定数据源
//new GVDataource()是实例化的一个自定义类
//new GVDataource().GetDataSource(bmmc, spsxbh);//得到的是一个DataTable
加载更多回复(1)

110,567

社区成员

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

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

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