#c# #database #datagridview
#c# #База данных #datagridview
Вопрос:
У меня есть форма, которая содержит DataGridView, кнопку «выбор» и поле со списком. Как я могу удалять предыдущие данные, вставленные в DataGridView каждый раз, когда я нажимаю кнопку «выбор»?
Это мой код:
private void button5_Click(object sender, EventArgs e)
{
compteDataGridView.Update();
compteDataGridView.Refresh();
try
{
String c = comboBox1.SelectedItem.ToString();
if ((String.IsNullOrEmpty(textBox1.Text) == true) amp;amp; (String.IsNullOrEmpty(textBox3.Text) == true) amp;amp; (comboBox1.SelectedItem == c) amp;amp; (String.IsNullOrEmpty(textBox4.Text) == true))
{
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
req = "select numero_cpte,intitulé_cpte from compte where type_cpte='" c "';";
SqlCommand sql = new SqlCommand(req, connection);
dr = new SqlDataAdapter(req, connection);
dr.Fill(ds, "compte");
compteDataGridView.DataSource = ds.Tables["compte"];
connection.Close();
ПРИМЕЧАНИЕ: выбор основан на элементе, выбранном пользователем (ComboBox1)
Комментарии:
1. К вашему сведению: они вам не нужны
== true
в ваших операторах if.if
s проверяет логическое выражение, которое.IsNullOrEmpty
возвращает.2. хорошо, спасибо CAbbott и Nathan A за редактирование 🙂
Ответ №1:
Это перед вашим вызовом обновления должно сработать:
compteDataGridView.Rows.Clear();
Альтернативным методом было бы:
compteDataGridView.DataSource = null;
Комментарии:
1. спасибо, Харис, но у меня ошибка, в которой говорится, что «Я не могу удалить список»:/ Я помещаю этот код в конец моего метода
2. Предполагается, что код должен идти до compteDataGridView.Update(); . Возможно, после этого вам потребуется еще один вызов обновления, я не могу протестировать его на своей машине прямо сейчас.