WinForm的listbox绑定之后,调用listBox1.Items.Clear出错.

ChengXiang 2003-06-14 03:06:19

在程序中,ListBox绑定到了一个dataSet之后。
调用下面的语句:
listBox1.Items.Clear()
就会出错.

那么我想改变listbox的内容应该怎么做?
...全文
77 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheAres 2003-06-14
  • 打赏
  • 举报
回复

因为ListBox控件对象绑定到DataSet中的Table的相应字段,如果要更新ListBox中的内容,则应该首先更新DataSet中相应Table的内容。

举例如下:

private void Form1_Load(object sender, System.EventArgs e)
{
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\homeworks\\databases\\xtreme.mdb;";
OleDbConnection myConn = new OleDbConnection(connString);
myConn.Open();
string sqlString = "Select * from test";
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(sqlString,myConn);
myDataAdapter.Fill(myDataSet,"test");
myConn.Close();

// DataBinding
listBox1.DataSource = myDataSet;
listBox1.DataBindings.Add("Text",myDataSet,"test.name");
listBox1.DisplayMember = "test.name";
listBox1.ValueMember = "test.id";
}

private void button1_Click(object sender, System.EventArgs e)
{
//更新myDataSet中的table表test中的内容
myDataSet.Tables["test"].Clear();
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\homeworks\\databases\\xtreme.mdb;";
OleDbConnection myConn = new OleDbConnection(connString);
myConn.Open();
string sqlString = "Select * from test";
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(sqlString,myConn);
myDataAdapter.Fill(myDataSet,"test");
myConn.Close();
}

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧