刚学了有两天,迷糊啊绑定数据
.............
SqlDataAdapter da = new SqlDataAdapter(sqlstr, conn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            this.listBox1.DataSource = dt;
            this.listBox1.DisplayMember = "uid";
            this.listBox1.ValueMember = "pwd";获取选定项的时候看msdn是用SelectedItem属性MessageBox.Show(this.listBox1.SelectedItem.ToString());但我这样写的时候并不是想要的结果需要使用 listBox.Text 才行这里很疑惑在删除项的时候我这样写 this.listBox1.Items.Remove(this.listBox1.SelectedItem);这样写还是不对应该是Selecteditem 属性没有应用正确但如果我的理解能力不错的话,msdn 是没错的会不会是我指定数据源的地方出错了 ?

解决方案 »

  1.   


                this.listBox1.DataSource = dt;// A
                this.listBox1.DisplayMember = "uid";// B
                this.listBox1.ValueMember = "pwd";// C//A、数据源
    //B、listBox1.Text 显示 某一行的 UID 字段值
    //C、SelectedValue 显示 某一行的 pwd 字段值
    看得懂吗?看不懂深入看:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.listcontrol.datasource.aspx
      

  2.   

    看你的代码,你绑定的DisplayMember 是uid,ValueMember 是pwd,也就是显示的文字是uid,实际对应的值是pwd,你想获得选定项的文字,用listBox1.Text没错,要获得它的实际值用listBox1.SelectedValue.ToString(),移除项一般不这样做,因为你用绑定的方式绑定数据列表,要移除绑定的数据列表中某个项,本身的Remove()不起作用.
      

  3.   

    ListBox删除多项选择项 不是删除数据库数据,只是将控件内数据移除
    直接贴出代码
     ListBox.SelectedIndexCollection indices = listBox1.SelectedIndices; 
                int count = indices.Count; 
                listBox1.BeginUpdate(); 
                for (int i = 0; count != 0; i++) 
                { 
                    listBox1.Items.RemoveAt(indices[0]); 
                    count--; 
                } 
                listBox1.EndUpdate(); indices里面是一个int[]集合 包括了选择项在listbox中的索引集合每次删除一项会导致listbox重绘,这样之前的选择项可能可能被刷新了,可能导致删除不全
    用"BeginUpdate  批量操作  EndUpdate"可以避免删除一项刷新一次 
      

  4.   


    通过listbox如何从数据源表中移除数据 ?
      

  5.   


    提示: 设置 DataSource 属性后无法修改项集合。
      

  6.   

    用SelectedValue找到对应的值,用DataTable.Select()方法查询到你要的DataRow,
    用DataTable.Rows.Remove(DataRow)
      

  7.   

    用SelectedValue找到对应的值,用DataTable.Select()方法查询到你要的DataRow,
    用DataTable.Rows.Remove(DataRow)
      

  8.   

    解决了定义dt为public static DataTable然后在删除按钮里这样DataRowView drv = (DataRowView)this.listBox1.SelectedItem;
                    dt.Rows.Remove(drv.Row);