Одна вещь, которую я заметил при попытке этого решения, состоит в том, что если у вас есть N / A в начале или в конце массива, ffill и bfill не совсем работают. Вам нужны оба.
In [224]: df = pd.DataFrame([None, 1, 2, 3, None, 4, 5, 6, None])
In [225]: df.ffill()
Out[225]:
0
0 NaN
1 1.0
...
7 6.0
8 6.0
In [226]: df.bfill()
Out[226]:
0
0 1.0
1 1.0
...
7 6.0
8 NaN
In [227]: df.bfill().ffill()
Out[227]:
0
0 1.0
1 1.0
...
7 6.0
8 6.0
По умолчанию столбцы основаны на типе данных. Я не проверял, но для ссылки вы могли бы попробовать подвергнуть данные как Uri
, но это может быть обнадеживающим. Действительно, если вам нужен определенный тип столбца - добавьте столбцы через код и установите DataGridView.AutoGenerateColumns
на false
.
Как предполагает Andrew; обычно для генерации столбцов используется нечто , подобное , и вы получите столбец для каждого (доступного для просмотра + общедоступного + читаемого) свойства. Если вам нужно, есть слой абстракции, но это не поможет добавить столбец гиперссылки.
Вы можете предварительно создать свои столбцы в дизайнере. Если имя столбца совпадает с именем свойства, которому столкнулся столбец, привязка данных позаботится о вас, как и прежде, о DGV-популяции.
System.ComponentModel
, что может означатьITypedList
, может означатьICustomTypeDescriptor
/TypeDescriptionProvider
или может быть отражением (поставщик по умолчанию). Но он может быть настроен множеством интересных способов. – Marc Gravell♦ 27 October 2009 в 21:43