有一个treeview控件 里面有一个结点"班级" 
有一个listview空间 用来显示"小组"
我要实现以下功能:选择treeview的"班级"结点,点击一个按钮,按要求创建i个小组,并将i个小组名称添加到listview中。我想知道该怎样实现?创建i个小组后是从数据库里读数据添加到Listview中 还是直接在listview中添加节点然后绑定数据?留几行代码学习学习 谢谢这个是我写的 有问题 也可以在此基础上帮忙修改一下
private void button3_Click(object sender, System.EventArgs e)
{
//创建小组
for(int i=0;i<(int)txtGrpNum.Value;i++)//i为第i小组
{
string strCmd="insert into grp_sln(bh,zbh,zmc) values('"+this.treeView2.SelectedNode.Tag.ToString().Trim()+"','"+this.treeView2.SelectedNode.Tag.ToString().Trim()+(i+1)+"','第"+(i+1).ToString()+"小组')";//循环插入小组到grp_sln
OleDbCommand cmd=new OleDbCommand(strCmd,conn);
cmd.ExecuteNonQuery();

//显示小组在lvGroup中
this.lvGroup.Items.Clear();
foreach(DataRow dr in ds.Tables["grp_sln"].Select("BH='"+this.treeView2.SelectedNode.Tag.ToString().Trim()+"'"))
{
ListViewItem lvi3=new ListViewItem(new string[]{dr["zmc"].ToString()});
lvi3.Tag=dr["zbh"].ToString().Trim();
this.lvGroup.Items.Add(lvi3);
}
}
if(this.lvGroup.Items.Count>0) this.lvGroup.Items[0].Selected=true;
}

解决方案 »

  1.   

    建议不要在循环中执行sql语句,可以将其保存下来,一次执行
    另在生成插入小组的sql语句的同时将其添加到listview控件中就好了,没必要在从数据库中读一次
      

  2.   

    大哥 我是这么做过 可以“生成插入小组的sql语句的同时将其添加到listview控件中”它的tag属性值怎么取
      

  3.   

    private void button3_Click(object sender, System.EventArgs e)
    {
    System.Text.StringBuilder sbSQL=new System.Text.StringBuilder();
    //创建小组
    for(int i=0;i<(int)txtGrpNum.Value;i++)//i为第i小组
    {
    sbSQL.Append(insert into grp_sln(bh,zbh,zmc) values('"+this.treeView2.SelectedNode.Tag.ToString().Trim()+"','"+this.treeView2.SelectedNode.Tag.ToString().Trim()+(i+1)+"','第"+(i+1).ToString()+"小组')");//循环插入小组到grp_sln
    //OleDbCommand cmd=new OleDbCommand(strCmd,conn);
    //cmd.ExecuteNonQuery();

    //显示小组在lvGroup中
    ListViewItem lvi3=new ListViewItem("相应的数据");
    lvi3.Tag="相应的数据";
    this.lvGroup.Items.Add(lvi3);}
    OleDbCommand cmd=new OleDbCommand(sbSQL.ToString(),conn);
    cmd.ExecuteNonQuery();
    if(this.lvGroup.Items.Count>0) this.lvGroup.Items[0].Selected=true;
    }
      

  4.   

    既然是table为什么不用filter呢
    还有,你既然在button中要查询一遍,为什么不直接加入参数做查询呢最后,你到底有什么显示问题
      

  5.   

    listview的tag中不是存的this.treeView2.SelectedNode.Tag.ToString().Trim()+(i+1)吗?
    其它的我就不说了
      

  6.   

    listview的tag中不是存的this.treeView2.SelectedNode.Tag.ToString().Trim()+(i+1)吗?
    其它的我就不说了
    ke