繁体   English   中英

用数据源填充的 C# 清除/重置列表框

[英]C# Clear/Reset Listbox populated with Datasource

我有一些方法可以在可以添加到客户端的多个列表框中列出各种详细信息,例如不同的犯罪。 and then populates the listCriminalRecord listbox with this data.下面的方法从CriminalRecord 表中选择所有犯罪,其中ClientId = ,然后用这些数据填充listCriminalRecord列表框。

private void PopulateCriminalRecord()
{
    string query = "SELECT * FROM CriminalRecord " +
            "a INNER JOIN ClientCriminalRecord b ON a.Id = b.CriminalRecordId " +
            "WHERE b.ClientId = @ClientId ORDER BY Crime ASC";

    using (connection = new SqlConnection(connectionString))
    using (SqlCommand command = new SqlCommand(query, connection))
    using (SqlDataAdapter adapter = new SqlDataAdapter(command))
    {
        command.Parameters.AddWithValue("@ClientId", newId);
        DataTable dTable = new DataTable();
        adapter.Fill(dTable);
        listCriminalRecord.DisplayMember = "Crime";
        listCriminalRecord.ValueMember = "Id";
        listCriminalRecord.DataSource = dTable;
    }
}

当用户完成输入客户的详细信息后,他们将单击一个按钮,收到一条消息等提示。

private void btnFinish_Click(object sender, EventArgs e)
{
    DialogResult result = MessageBox.Show("Are you sure you've finished & filled in all of the Client's details?", "Save and exit", MessageBoxButtons.YesNo);
    if (result == DialogResult.Yes)
    {
        DisableStep2();
        EnableStep1();
    }
}

EnableStep1(); 方法只是启用和清除一些文本框和DisableStep2(); 方法执行相同的操作,但禁用了一些文本框。 在此之后,我希望重置/清除所有列表框。 我试过listCriminalRecord.Items.Clear()但它表示一个错误。 我不确定如何做到这一点。 任何帮助都会很棒。

试试这个: listCriminalRecord.DataSource = null;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM