我有一些方法可以列出可以添加到客户端的多个列表框中的各种详细信息,例如不同的罪行。下面的方法从CriminalRecord表中选择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.Items = null;