gpt4 book ai didi

c# - 如何将数据表行与列表框项目进行比较

转载 作者:行者123 更新时间:2023-11-29 21:20:17 25 4
gpt4 key购买 nike

当我在月历中选择日期时,我想将列表框中的列表项与名为“time”的 DataTable 列行进行比较,如果列表框中的项目等于列中的值,我会尝试删除它们,如果没有,则使用我一开始就有的默认项目。但我收到消息:设置数据源属性时无法修改项目集合。请帮我纠正代码:

   private void monthCAL_DateChanged(object sender, DateRangeEventArgs e)
{
string date = monthCAL.SelectionStart.Date.ToString("yyyyMMdd");
string connetionString = null;
MySqlConnection connection;
MySqlCommand command;
MySqlDataAdapter adapter = new MySqlDataAdapter();
DataSet ds = new DataSet();
string sql = null;
connetionString = "datasource=localhost; database=bokning;port=3306;username=root;password=666666";
sql = "select day, time from system where day='" + date + "'";
connection = new MySqlConnection(connetionString);
try
{
connection.Open();
command = new MySqlCommand(sql, connection);
adapter.SelectCommand = command;
adapter.Fill(ds);
adapter.Dispose();
command.Dispose();
connection.Close();

MyDateT = ds.Tables[0];

if (MyDateT.Rows.Count > 0)
{
foreach (DataRow dr in MyDateT.Rows) {
for (int i = 0; i < MydefaultList.Length; i++)
{
if (MydefaultList[i].ToString().Equals(dr["time"].ToString())) {
listB1.Items.Remove(MydefaultList[i]);
//listB1.DataSource = MydefaultList;
}
}
}
}
else
{
listB1.DataSource = MydefaultList;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}

最佳答案

据我了解,您无法从具有 DataSource 属性的 Listbox 中删除项目。

此链接可以更深入地描述:

http://www.codeproject.com/Questions/758161/Items-collection-cannot-be-modified-when-the-DataS

您需要将 DataSource 设置为 null,进行所需的更改,然后重新添加 DataSource

关于c# - 如何将数据表行与列表框项目进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35750201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com