Как из DataGridView получить в textBox номер колонки?

134
12 апреля 2018, 10:50

Задача: На нашей форме есть DataGridView и несколько, к примеру пять textBox. Нужно выбирая мышкой ячейки DataGridView получать номер колонки в каждом textBox-е.

private DataGridViewCell clickedCell; //Переменная куда будет записываться координаты ячейки DataGridView
 string ctr;//Событие при клике на поле дата грида
    private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
    { 
        if (e.Button == MouseButtons.Right)
        {
            DataGridView.HitTestInfo hit = dataGridView1.HitTest(e.X, e.Y);
            if (hit.Type == DataGridViewHitTestType.Cell)//производим проверку является ли событие от ячейки
            {
                clickedCell=
                   dataGridView1.Rows[hit.RowIndex].Cells[hit.ColumnIndex];
                ctr = Convert.ToString(clickedCell.ColumnIndex);
            }
        }           
    }
    //Событие при нажатии на поле textBox с именем Name
    private void textBoxName_MouseClick(object sender, MouseEventArgs e)
    {
        //нужно вызвать событие dataGridView1_MouseClick
           textBoxName.Text = Convert.ToString(ctr);  
    }
Answer 1
rowIndex = dataGridView1.CurrentCell.RowIndex; //вытаскиваем индекс
textBoxName.Text = rowIndex.ToString(); //отправляем в textbox

По C# очень подробная документация. Взято отсюда: DataGridViewCell.RowIndex Property. Там и RowIndex и ColumnIndex есть

Answer 2

Нужно выбирая мышкой ячейки DataGridView получать номер колонки.
Пологаю номер колонки это его координаты?Если так то у DataGridView есть евент по имени CellClick можно использовать скажем вот так!

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        foreach (Control item in this.Controls)
        {
            if (item.GetType().Name == "TextBox")//получаем все TextBox-и
            {
                if (string.IsNullOrEmpty(item.Text))//проверяем наличия текста
                {
                    item.Text = $"({e.RowIndex},{e.ColumnIndex})";
                    return;
                }
            }
        }
    }
READ ALSO
DateTimePicker в DataGridView

DateTimePicker в DataGridView

ПРИМЕР↓

244
ASP NET MVC не грузятся данные из файла

ASP NET MVC не грузятся данные из файла

Есть ASPNET MVC сайт, есть на входе файл Excel, содержимое файла нужно загрузить через сайт в БД

187
Как сделать ListBox такого вида в WPF?

Как сделать ListBox такого вида в WPF?

Как сделать ListBox такого вида в WPF?

195
Бесплатная библиотека для работы с *.DOCX

Бесплатная библиотека для работы с *.DOCX

Посоветуйте бесплатную и хорошо документированную библиотеку для работы с *DOCX

171