提一个C#中treeview用法的问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:52:55
想问大家一个问题:就是treeview控件在CS结构中的使用,假设我有一个数据库,里面有学号(主键),姓名和入学时间等属性.现在我新建了一个项目,我想实现如下的功能:
窗体的左边我添加了一个treeview控件,根节点是入学时间,子节点就是从1月份到12月份,右边是一个DataGridView控件,显示全部学生的信息,我要实现的功能就是比如我在左边的treeview控件中选择1月份,则右边把1月份入学的学生资料显示出来,麻烦哪位高手指点指点,不胜感激!

每个TreeView节点都有一个Text,选择时,将此Text作为参数,进行查询。
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
SqlConnection conn = new SqlConnection("..");
SqlDataAdapter da = new SqlDataAdapter("select * from table1 where id=" + treeView1.SelectedNode.Text, conn);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}
将上面程序中id改成你表示入学时间的字段名,如果字段的值和显示的值格式有区别,需要对显示值进行字符串操作,比如把“1月份”中的“月份”两字去掉。

根节点是入学时间,子节点就是从1月份到12月份
可不可以理解为根节点是年份?
这个不难啊,两级树结构,把Levle==1(也就是第二级)的树节点tag设置为月份的数字(1月就是1,2月就是2,以此类推)
在你的节点选中事件中触发以下事件
int month =Convert.ToInt32(你选中的node.tag)
然后有一个Adapter方法是select * from 你的表 where month(你的时间字段)= @选中的月份(也就是上面的month)
这就可以了啊
我不知道详细情况,用MSSQL做的例子