Как установить, “вставляют новую строку” как первую строку в DataGridView

Я пытаюсь добраться, DataGridView для рендеринга "вставляют новую строку" строка как первая строка в сетке вместо последней строки. Как я иду о выполнении этого, это даже возможно в управлении?

6
задан Ricardo Altamirano 16 August 2012 в 14:42
поделиться

5 ответов

Я не думаю, что существует любой способ переместить "новую строку" строка в вершину сетки данных.

Но, что при отъезде верхнего ряда пустым и поскольку заполненные данные спускают строку как соответствующую? Другими словами, сделайте свою собственную "новую строку" строкой, которая является просто первой строкой в сетке, и добавьте новые пустые строки выше, когда редактирование закончено.

   Dim myrow = existingDataTable.NewRow

    existingDataTable.Rows.Add(myrow)

    adp.Fill(existingDataTable)
    With DataGridView1
        .DataSource =existingDataTable
    End With    
7
ответ дан 8 December 2019 в 18:43
поделиться

Если Вы не используете связанные элементы управления, dgvItems. Строки. Вставьте (), позволит Вам указывать, где строка вставляется.

При использовании связанного datagridview, без активного вида, добавьте новую строку к источнику данных в желаемом месте:

BoundTable. Строки. InsertAt (BoundTable. Строки. NewRow (), RowLocation);

Я нашел интересные отношения, если существуют редактирования на текущей строке, и строка не посвятила себя источнику данных (т.е. Вы только что начали вводить данные), это, кажется, необходимо переместить активную ячейку в другую строку для фиксации изменений прежде, чем вставить строки.

4
ответ дан 8 December 2019 в 18:43
поделиться

Можно ли присвоить временную ценность ключу новой строки, который является меньше, чем все существующие строки? Затем отсортируйте DataView по тому ключу и свяжите представление со своей сеткой.

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

1
ответ дан 8 December 2019 в 18:43
поделиться

И если бы все остальное перестало работать, hacky путь состоял бы в том, чтобы поместить отдельную одну строку DataGridView выше существующего, клонировать его столбцы и обеспечить электричеством событие представления строки для добавления данных к более низкому :)

1
ответ дан 8 December 2019 в 18:43
поделиться

Вы используете событие RowDataBound? Если так, Вы могли проверить, чтобы видеть, связываете ли Вы строку заголовка столбца и затем добавляете соответствующий код для вставки строки чуть ниже этого.

Тот путь, когда Ваши строки содержания связываются, нет никакого беспорядка с объектом индексом тем, чтобы быть включенным, хотя я рекомендовал бы использовать некоторый DataKeys или что-то на всякий случай. Кроме того, использование события RowDatabound позволило бы, Вы, чтобы иметь "вставляете строку", доступную когда пользовательские страницы к другому блоку строк в GridView.

1
ответ дан 8 December 2019 в 18:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: