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



我有一些方法可以在多个列表框中列出各种详细信息,这些详细信息可以添加到客户端,例如。不同的犯罪。下面的方法从clirterRecord表中选择所有犯罪表,其中clientid = 选择客户端的ID ,然后使用此数据填充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;

最新更新