treeView中结合listView使用的例子.doc_第1页
treeView中结合listView使用的例子.doc_第2页
treeView中结合listView使用的例子.doc_第3页
treeView中结合listView使用的例子.doc_第4页
treeView中结合listView使用的例子.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

treeView中结合listView使用的例子主要实现功能:当从左边选择rollno时,右边,显示“请选择学号”,用户选择学好后,“详细信息如下:”中会显示关于这个学好的所有记录。当选择name时,右边显示“请选择姓名”,用户选择姓名,则“详细信息如下:”中会显示关于这个姓名的所有记录。左边侧栏是一个treeView控件,右边详细信息中,有两个层叠的listView,当选择学生信息时,黄色的listview是可见的,当选择系部星系时,绿色的listview是可见的。具体实现代码如下: publicpartial class Form1 : Form string sql;SqlConnectionStringBuilder bldr;SqlConnection cn;string selstr;public Form1()InitializeComponent();linkDatabase();public void linkDatabase()/连接数据库,打开连接bldr = new SqlConnectionStringBuilder();bldr.DataSource = 28;bldr.InitialCatalog = shortmessage;bldr.IntegratedSecurity =false;bldr.UserID = shortmessage;bldr.Password = shortmessageuser;cn = new SqlConnection(bldr.ConnectionString);cn.Open();public void closeDatabase()/关闭连接cn.Close();public DataSet selectData(String sql)/查询数据集并返回DataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter(sql, cn);SqlCommandBuilder cb = new SqlCommandBuilder(da);da.Fill(ds);returnds;private void Form1_Load(object sender, EventArgs e)/刚加载的时候,默认选中了姓名,所以属于student这一栏,用listview1显示,所以listview2是不可见得。listView1.Visible = false;listView2.Visible = false;listView1.GridLines = true;/listview1是用来显示学生信息的,此处添加列listView1.Columns.Add(name);listView1.Columns.Add(age);listView1.Columns.Add(rollno);listView1.View = View.Details;/listview2是用来显示系部信息的,此处添加列listView2.View = View.Details;listView2.GridLines = true;listView2.Columns.Add(deptName);listView2.Columns.Add(location);/添加student节点,其下有rollno,name,age.TreeNode t = new TreeNode(Student);treeView1.Nodes.Add(t);TreeNode t1 = new TreeNode(rollno);t.Nodes.Add(t1);TreeNode t2 = new TreeNode(name);t.Nodes.Add(t2);TreeNode t3 = new TreeNode(age);t.Nodes.Add(t3);treeView1.SelectedNode =t1;/添加Departement节点,其下有deptname.TreeNode test = new TreeNode(Department);treeView1.Nodes.Add(test);TreeNode testone = new TreeNode(deptname);test.Nodes.Add(testone);privatevoid treeView1_AfterSelect(objectsender, TreeViewEventArgs e)comboBox1.Items.Clear();/先清空comboBox1.Text =;selstr = treeView1.SelectedNode.Text;/如果用户选中的是name,age,rollno其中任何一项我们将显示student的信息,显示在listview1上。否则其他信息显示在listview2上if (selstr.Equals(name) | selstr.Equals(age) |selstr.Equals(rollno)listView1.Visible = true;listView2.Visible = false;elselistView2.Visible = true ;listView1.Visible = false;/在这里我们之判断这个三个节点,对于系部部分我们不判断switch (selstr)case name:label1.Text = 请选择姓名:;sql = select name from test;break;case age:label1.Text = 请选择年龄:;sql = select age from test;break;case rollno:label1.Text = 请选择学号:;sql = select rollno from test;break;default:label1.Text = 请选择系部:;break;DataSet ds = selectData(sql);foreach (DataRow row in ds.Tables0.Rows)comboBox1.Items.Add(row0);/因为选出来的只有一个字段,所以这里直接用row0来得到即可。closeDatabase();privatevoid comboBox1_SelectedIndexChanged(objectsender, EventArgs e)listView1.Items.Clear();/清空listview中的内容。listView2.Items.Clear();label2.Visible = true;if (selstr.Equals(name) | selstr.Equals(age) |selstr.Equals(rollno)/添加的是student方面的信息,sql = select name,age,rollno from test where + selstr + = +comboBox1.SelectedItem.ToString().Trim() + ;MessageBox.Show(sql);DataSet ds = selectData(sql);ListViewItem l = null;foreach (DataRow row in ds.Tables0.Rows)l = new ListViewItem(rowname.ToString();l.SubItems.Add(rowage

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论