Центрировать текущий вид ячейки на datagridview c # - PullRequest
0 голосов
/ 25 сентября 2018

Как я могу центрировать вид на выбранной текущей ячейке в представлении данных?

Например, у меня есть представление данных следующим образом:

 for (int i = 0; i < 200; i++)
            {

                dataGridView1.Columns.Add("X" + i, "X" + i);
                dataGridView1.Columns[i].Width = 30;
                this.dataGridView1.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
                dataGridView1.Rows.Add("Y" + i);
                //  dataGridView1.Rows[i].Cells[i].Value = "X";
                dataGridView1.DefaultCellStyle.SelectionBackColor = Color.HotPink;
                dataGridView1.DefaultCellStyle.BackColor = Color.Red;
            }


            for (int kolumna = 0; kolumna < 200; kolumna++)
            {
                for (int i = 1; i < 200; i++)
                {
                    dataGridView1.Rows[kolumna].Cells[i].Value = "X";
                }
            }

Это выглядит так: enter image description here

Как я могу центрировать текущую выбранную ячейку в моем представлении данных?Я много искал и не могу найти решение.Например, я хочу выбрать строку / ячейку 100 / 100.

Я пытаюсь с

this.dataGridView1.CurrentCell = this.dataGridView1[100,100];

Но это только показывает справа внизу на моем сетевом представлении.

Результатдолжно быть так: CELL [100 / row100] центрирован по виду в datagridview.Можно ли это сделать?

enter image description here

1 Ответ

0 голосов
/ 10 октября 2018
 private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {
            try
            {
                dataGridView1.FirstDisplayedScrollingRowIndex = selectedrow - 9;
                dataGridView1.FirstDisplayedScrollingColumnIndex = selectedcolumn - 15;
            }
            catch { };
        }

Это все делает.Это событие центрирует ваши данные при изменении выбранной строки.

...