Показать itemRenderer в определенных строках DataGrid ... другие пустые - PullRequest
0 голосов
/ 23 декабря 2009

У меня есть DataGrid, заполненный через массив. Последний столбец в DataGrid использует ItemRenderer (Button). Я хочу, чтобы кнопка отображалась в определенных строках, а не в других (оставьте их пустыми). Я везде искал пример или даже подсказку, как это сделать (пробовал labelFunction на DG и т. Д.), Но ничего не нашел по этому поводу. Любая помощь будет оценена. Спасибо!

Ответы [ 3 ]

0 голосов
/ 24 декабря 2009

средство визуализации элементов не обязательно должно быть контейнером, оно должно реализовывать IDataRendererButton - нет). Можно расширить Button и реализовать этот интерфейс, чтобы получить простой рендеринг кнопок. Если вы хотите, чтобы он отображался условно, вы достигнете этого путем обработки этих условий в средстве визуализации на основе данных.

0 голосов
/ 26 марта 2010

Теперь это может быть немного сложным. Я бы порекомендовал вам определить XML вместо массива объектов. Если узел имеет кнопку свойства типа, тогда он создаст кнопку в той ячейке, тип значения которой - кнопка.

Как динамически создать кнопку в сетке, которая снова является динамичной?

Это может привести к тому, что весь компонент будет динамичным.

0 голосов
/ 24 декабря 2009

Хорошо ... с (большой) помощью, разобрался. Прежде всего, я не уверен, почему itemRenderer требует контейнер, но это делает. Массив также должен проверяться из itemRenderer, а не из основного приложения ... опять же, я не знаю, почему, поскольку отладчик показывает, что он проходит через точно такой же цикл / события и т. Д.). Если вы заинтересованы, вот соответствующие части кода:

Главное приложение: ---

{col1: '', col2: '', col3: '', col4: '', col5: '', col6: '', col7: '', col8: '', col9: '', col10 : '', col11: ' yo '}];

публичная функция initData (): void {xferSchedule.dataProvider = schedArray; } ]]>

...