2015-04-16 2 views
0

Я получил мою форму «InsertClient» и у меня есть метод, кликните кнопкуОбновить DataGridView после INSERT в SQL

 public void Insert_Button_Click(object sender, EventArgs e) 
    { 
     MyClass.InsertNewClient(fullNametxt.Text, shortNametxt.Text); 
     fullNametxt.Clear(); 
     shortNametxt.Clear(); 
     fullNametxt.Focus(); 
     GridView.Update(); 
     GridView.Refresh(); 
    } 

Мой класс Recieve это:

public static void InsertNewClient (String fullName, String shortName) 
    { 
     SqlConnection conn = DBClass.ConnectionString.GetConnection(); 
     SqlCommand cmd = new SqlCommand("MyStoredProcedure", conn); 
     cmd.CommandType = System.Data.CommandType.StoredProcedure; 
     cmd.Parameters.AddWithValue("@fullName", fullName); 
     cmd.Parameters.AddWithValue("@shortName", shortName); 
     int i = cmd.ExecuteNonQuery(); 
     if (i == 0) 
     { 
      MessageBox.Show("Can't save data"); 
     } 
     if (i > 0) 
     { 
      MessageBox.Show("Data saved!"); 
     } 
    } 

Дело в том, что данные сохранены но DataGridView не обновляется после каждого INSERT (нажатие кнопки). Я должен закрыть форму и снова открыть ее и обновиться.

Пожалуйста, помогите, я хочу DataGridView обновления после данных INSERT

+0

возможно дубликат [Как обновить или показать сразу в DataGridView после установки?] (HTTP: // stackoverflow.com/questions/21299016/how-to-refresh-or-show-immediately-in-datagr idview-after-inserting) – mmking

+0

источник привязки datagridview =? –

+0

Покажите, как вы загружаете данные в 'datagridview' – Fabio

ответ

0

что-то вроде этого @mmking, но не совсем я уже решил это .. проблема была именно то, что сказал @Fabio ...

Внутри метода нажатия кнопки заливаю снова де DataGridView с DataSet.

public void Insert_Button_Click(object sender, EventArgs e) 
{ 
    MyClass.InsertNewClient(fullNametxt.Text, shortNametxt.Text); 
    this.tblClientTableAdapter.Fill(this.DataSetClient.tblClient); 
} 

Просто чтобы получить ясно ... Я использую DataGridView в панели инструментов, выберите «Выбор источника данных» и выберите таблицу, которую я хочу использовать для заполнения DataGrid ...

Я использую DataSetName который дал мне по умолчанию и поставить его прямо, как я показываю его в коде

Надеется, что это помогает для будущих вопросов

0

Вы должны иметь отдельный метод, например Refresh(), который в вашем случае будет получать данные из SQL с помощью SqlDataReader и после insertBtn вызвать этот метод и инициализировать DataGridView DataSource к нему

Смежные вопросы