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

时间:2019-03-05 14:59:48

标签: c# listbox datasource reset clear

我有一些方法可以在可添加到客户端的多个列表框中列出各种详细信息,例如不同的罪行。以下方法从ClientId = 选择客户ID 的CrimeRecord表中选择所有犯罪,然后使用此数据填充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(),但表示错误。我不确定如何执行此操作。 任何帮助都很棒。

1 个答案:

答案 0 :(得分:0)

尝试一下: listCriminalRecord.Items = null;