Delphi эквивалент C # DataGridView - PullRequest
2 голосов
/ 22 декабря 2011

Есть ли какой-нибудь реальный эквивалент C # DataGridView в Delphi?

Я пытался

  • TStringGrid

    • Но полоса прокрутки либо невидима, когда видны все элементы, либо это наименьшая полоса прокрутки, возможная независимо от того, насколько мало элементов переполнено и обновляется только при отпускании полосы прокрутки, а не при ее перетаскивании
    • Кроме того, если у вас есть одна фиксированная строка, вы должны иметь хотя бы одну (пустую) строку, кроме той, что неудобно и неприглядно
  • TDBGrid

    • Но я не могу понять, как добавлять элементы программно (и я не думаю, что это так или иначе). Если бы я мог сделать это, TDBGrid было бы хорошо для меня использовать.

Так что же такое Delphi-эквивалент C # DataGridView, в котором нет проблем, перечисленных выше?

Ответы [ 2 ]

3 голосов
/ 22 декабря 2011

DataGridView - очень гибкий элемент управления, который может работать в связанном и несвязанном режимах. На стороне Delphi вы должны выбрать один из двух видов элементов управления, например, если содержимое элемента управления можно редактировать напрямую (без привязки), вы Вы можете выбрать компонент, такой как TStringGrid или в связанном режиме, который в delphi называется «осведомленным о данных», вы должны выбрать что-то вроде dbgrid , в этом последнем случае вы редактируете набор данных, связанный с элементом управления, и элемент управления отражает содержание набора данных. Используя этот последний сценарий. у вас есть несколько опций для компонента набора данных, который может быть выбран, возможно, наиболее гибким является TClientDataSet. если вы хотите узнать больше об этой теме, проверьте эти ссылки

Примечание : в последней версии Delphi (XE2) была введена новая концепция LiveBindings , которая вносит большие изменения в то, как вы можете привязать объект или компонент к коллекции. или другой компонент.

0 голосов
/ 03 января 2012

Я бы порекомендовал вам проверить DevExpress.com QuantumGrid - он работает как в связанном, так и в Unvound режиме

...