DataGridViewRow для формы - PullRequest
       3

DataGridViewRow для формы

0 голосов
/ 11 августа 2011

Мне нужно получить данные из таблицы данных для строки с двойным щелчком в новой форме, я только что погрузился в разработку dotnet, пожалуйста, укажите, как это сделать.

Ответы [ 2 ]

2 голосов
/ 11 августа 2011

Сначала, как сказал Гаптон, вам нужно передать событие CellDoubleClick, и внутри этого события вы можете получить значения ячеек текущей строки, используя следующий синтаксис:

object cell1 = dataGrid.Rows[e.RowIndex].Cells[0].Value; 
object cell2 = dataGrid.Rows[e.RowIndex].Cells[2].Value;

, где e.RowIndex - индекс пользователя строкидвойной щелчок и e.ColumnIndex содержит индекс столбца ячейки, для которой этот двойной щелчок произошел ...

сейчас, чтобы передать значения в новую форму, вы можете сделать это двумя различными способами: 1: используяобщедоступные свойства, скажем, у вас есть Form2, которому вы хотите передать значения, в классе Form2 определите свойства для интересующих вас значений, таких как:

public object cell1 { get; set; }
public object cell2 { get; set; }

и в вашем CellDoubleClick выше, создайте новый объектформы 2, присвойте значения свойствам и вызовите метод show для отображения этой формы:

private void dataGrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            object cell1 = dataGrid.Rows[e.RowIndex].Cells[0].Value; 
            object cell2 = dataGrid.Rows[e.RowIndex].Cells[2].Value; 

Form2 form2 = new Form2();
form2.cell1 = cell1;
...
form2.Show();
        } 

2: используя перегруженный конструктор, запишите перегруженный конструктор для формы Form2, например:

public Form2(object cell1, ...) {
this.cell1 = cell1;
....
InitializeComponent();
}

а затем в обработчике событий:

private void dataGrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            object cell1 = dataGrid.Rows[e.RowIndex].Cells[0].Value; 
            object cell2 = dataGrid.Rows[e.RowIndex].Cells[2].Value; 

Form2 form2 = new Form2(cell1...);
form2.Show();
        } 
1 голос
/ 11 августа 2011

На панели «События» вы сможете назначить функцию для вызова при двойном щелчке по строке. Затем в функции вы можете сделать DataGridViewRow.Cells [index] .Value для доступа к значениям ячеек, а затем передать его в новую форму для любых целей.

В качестве альтернативы, вы можете передать весь DataGridViewRow: dataGridView1.CurrentRow предоставит вам DataGridViewRow, который в данный момент выбран.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...