Windows Forms — как отобразить кнопку «Обновить/Отменить» в DataGridViewButtonColumn?

Когда я разрабатываю веб-приложения ASP .NET, я использую следующий код для отображения кнопок Update и Cancel, когда пользователь нажимает кнопку Edit внутри столбца DataGridView.

<asp:EditCommandColumn EditText="Edit" 
             ButtonType="LinkButton" 
             UpdateText="Update" 
             CancelText="Cancel" 
             HeaderText="Update"/>

Есть ли способ сделать это в Windows Forms? Что я планировал сделать сейчас, так это добавить три DataGridViewButtonColumns Edit, Update и Cancel. И при событии щелчка ячейки DataGridView столбец Edit будет скрыт, а столбцы Update и Cancel будут отображаться.

Другим решением является использование DataGridViewLinkCell и изменение значения столбца после нажатия на ячейку. Пример: Вставить, обновить и удалить таблицу из DataGridView в C#.Net

В SO много вопросов о командах DataGridView Select/Insert/Update/Delete. Но я хотел бы знать, какой метод будет подходящим для использования в этой ситуации. Любая помощь будет очень признательна.


person Aung Kaung Hein    schedule 25.10.2013    source источник


Ответы (1)


Я думаю, вы можете сделать это и выполнять операции по своему усмотрению:

private void Form1_Load(object sender, EventArgs e)  
        {  
            displayDataGridView();  

            DataGridViewButtonColumn EditBtn = new DataGridViewButtonColumn();
            EditBtn.HeaderText = "Edit";
            EditBtn.Text = "Edit";
            EditBtn.Name = "EditBtn";
            EditBtn.UseColumnTextForButtonValue = true;
            dataGridView1.Columns.Add(EditBtn);  

            DataGridViewButtonColumn DeleteBtn = new DataGridViewButtonColumn();  
            DeleteBtn.HeaderText = "Delete";  
            DeleteBtn.Name = "DeleteBtn";
            DeleteBtn.Text = "Delete";  
            DeleteBtn.UseColumnTextForButtonValue = true;
            dataGridView1.Columns.Add(DeleteBtn);  

        }
person Vishwajeet Kulkarni    schedule 25.10.2013