Обновить привязанный Datagridview после обновления TableAdapter без заполнения

#c# #.net #data-binding #datagridview #tableadapter

#c# #.net #привязка данных #datagridview #tableadapter

Вопрос:

Я искал здесь и в Google это в течение последних 2 часов, и я не смог найти решение для этого!

Единственный способ, которым я могу получить, DataGridView чтобы отразить изменения, внесенные TableAdapter.Update , — это использовать TableAdapter.Fill , но проблема в том, что DataGridView прокручивается обратно к началу.

Как я могу «обновить» DGV без потери его состояния? Я знаю, что могу получить и установить состояние после заполнения, но, конечно, есть лучший способ сделать это!!

Вот мое очень простое тестовое приложение…

     private Random Rand = new Random();

    private void Form1_Load(object sender, EventArgs e)
    {
        this.MyTableAdapter.Fill(this.MyDataSet.MyTable);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        string _rand = Convert.ToString(Rand.Next(1000, 5000));
        this.MyTableAdapter.UpdateStatus(_rand, "111.222.333.444");
        label1.Text = _rand;
    }
  

Где MyTableAdapter.UpdateStatus SQL = UPDATE MyTable SET status=@p1 WHERE (ip=@p2)

Все работает так, как должно, за исключением того, что DGV не обновляется без Fill

Ответ №1:

Установка ClearBeforeFill свойства TableAdapter на False остановит это поведение.

Ответ №2:

если вы установите для свойства ClearBeforeFill значение False, оно будет добавлять одни и те же данные снова и снова, каждый .Fill