C#中关于Treeview与datagridview搭配使用的问题
如图中示,左边Treeview有各种节点,右边有一个datagridview,有个数据库GN,GN中有3个表分别叫S1,S2,S3,希望在点击节点1时,右边的datagr...
如图中示,左边Treeview有各种节点,右边有一个datagridview,有个数据库GN,GN中有3个表分别叫S1,S2,S3,希望在点击节点1时,右边的datagridview显示数据库中表S1的内容,点击节点2时显示S2的内容,点击节点3时显示S3的内容,如何写代码?
展开
4个回答
展开全部
treeview单击事件添加如下代码:
switch (_tvwMeun.SelectedNode.Text)
{
case "节点0":
this.DataGridView.DataSource=DBSQLHelper.ExecuteDataTable("select * from s1");
break;
case "节点1":
this.DataGridView.DataSource=DBSQLHelper.ExecuteDataTable("select *from s2");
break;
case "节点2":
this.DataGridView.DataSource=DBSQLHelper.ExecuteDataTable("select * from s3");
break;
default:
break;
}
switch (_tvwMeun.SelectedNode.Text)
{
case "节点0":
this.DataGridView.DataSource=DBSQLHelper.ExecuteDataTable("select * from s1");
break;
case "节点1":
this.DataGridView.DataSource=DBSQLHelper.ExecuteDataTable("select *from s2");
break;
case "节点2":
this.DataGridView.DataSource=DBSQLHelper.ExecuteDataTable("select * from s3");
break;
default:
break;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private void treeView1_Click(object sender, EventArgs e)
{
string text = treeView1.SelectedNode.Text; //获得当前选中的值
if(text == "节点1"){
//查询数据库表S1字段,并且绑定到datagridview上,这代码不用写了。
}
else if(test == "节点2"){} //后面以此类推
}
{
string text = treeView1.SelectedNode.Text; //获得当前选中的值
if(text == "节点1"){
//查询数据库表S1字段,并且绑定到datagridview上,这代码不用写了。
}
else if(test == "节点2"){} //后面以此类推
}
更多追问追答
追问
//查询数据库表S1字段,并且绑定到datagridview上,这代码不用写了。
我要这段填充的代码,即将S1表中的数据填充进datagridview1里的那段代码,谢谢
追答
这方法是查询的方法:参数为SQL语句和连接字符串.
//在这外面定义连接字符串
public static string conStr= "Data Source=.;Initial Catalog=数据库名称;User Id=sa;Password=sa;";
public static DataTable getDataTableBySql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(conStr))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
command.Dispose();
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
connection.Close();
}
return ds[0];
}
}
在上面这方法中添加:
if(text == "节点1"){
//查询数据库表S1字段,并且绑定到datagridview上,这代码不用写了。
string sql = "select * from S1";
dataGridView1.DataSource = getDataTableBySql(sql, conStr);
}
后面的表2和3同样的,只是SQL语句不一样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得可能要在绑定treeview的时候hardcode进去,
比如treeview的Item的Tag属性里面指定表名,
或者对象里面包括表名,然后把对象绑定到Tag上。
有了表名就比较好组织了。
比如treeview的Item的Tag属性里面指定表名,
或者对象里面包括表名,然后把对象绑定到Tag上。
有了表名就比较好组织了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-20 · 知道合伙人互联网行家
zhuxinjun1982
知道合伙人互联网行家
向TA提问 私信TA
知道合伙人互联网行家
采纳数:2145
获赞数:8329
毕业于上海行健职业学院,大专学历;2007~2009在北大青鸟进修网络编程课目。现任网络主管,平时爱好上网。
向TA提问 私信TA
关注
展开全部
466354008++,我帮你远程解决,+的时候注明下来意。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询