2015-07-22 4 views
1

Я подключил свою базу данных SQL к проекту C# в Visual Studio. В comboBox я получаю имена таблиц из базы данных, и когда я нажимаю кнопку, он показывает мне содержимое текущей таблицы в DataGridView. Я хочу знать, как сохранить или удалить дату из выбранной строки?C# DataGridView Вставка и удаление выделенной строки

Ps: Таблицы имеют разные названия и разные столбцы, и мне нужно некоторые сохранять/удалять кнопки, чтобы работать на всех

ответ

1

Вы можете добавить кнопки в DataGridView и использовать событие CellContentClick. Вот как добавить кнопки:

DataGridViewButtonColumn editButton = new DataGridViewButtonColumn(); 
editButton.HeaderText = "Update"; 
editButton.Text = "Update"; 
editButton.UseColumnTextForButtonValue = true; 
editButton.Width = 80; 
dbgViewObj.Columns.Add(editButton);//dbgViewObj is your datagridview control 
DataGridViewButtonColumn deleteButton = new DataGridViewButtonColumn(); 
deleteButton.HeaderText = "Delete"; 
deleteButton.Text = "Delete"; 
deleteButton.UseColumnTextForButtonValue = true; 
deleteButton.Width = 80; 
dbgViewObj.Columns.Add(deleteButton); 

Тогда ваш CellContentClick может выглядеть что-то подобное:

private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e) 
{ 
    int check = 0; 
    int currentRow = e.RowIndex; 

    if (e.RowIndex == -1 || e.ColumnIndex == -1) 
    { 
     return; 
    } 

    if (dgv.Columns[e.ColumnIndex].HeaderText == "Delete" && currentRow >= 0) 
    { 
      //do your delete stuff (query a delete query) 
    } 
    if (dgv.Columns[e.ColumnIndex].HeaderText == "Update" && currentRow >= 0) 
    { 
     //do your update stuff (query an update statement) 
    } 
} 
Смежные вопросы