C # Очистить / Сбросить список, заполненный источником данных - PullRequest
0 голосов
/ 05 марта 2019

У меня есть несколько методов, которые перечисляют различные детали в нескольких списках, которые можно добавить к клиенту, например, разные преступления. Приведенный ниже метод выбирает все преступления из таблицы 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(), но это выражает ошибку. Я не уверен, как это сделать. Любая помощь будет фантастической.

1 Ответ

0 голосов
/ 05 марта 2019

Попробуйте это: listCriminalRecord.Items = null;

...