холодная термоядерная решетка - PullRequest
0 голосов
/ 09 июня 2010

У меня есть сетка в виде холодной вспышки.

Пользователи не вводят информацию непосредственно в сетку.Они вводят данные в «раздел сведений», который представляет собой набор элементов формы (текстовое поле, поле выбора и т. Д.), Привязанных к сетке.

У меня есть Actionscript, который изменяет значения в сетке на основе записей пользователя.

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

Однако для изменения значений в событии grid grid используется тот же код.При изменении значения сетки значения в сетке не обновляются.

Это проблема обновления, но я не знаю, как ее исправить.Есть идеи?

1 Ответ

0 голосов
/ 16 мая 2013

Я никогда не смогу поспорить с мудрыми словами мистера Камдена, увиденными выше. Я прочитал 2 его книги о дизайне веб-приложений ColdFusion, которые называются "ColdFusion Web Application Construction Kit vols 1 & 2." и они были феноменальными! Он один из моих главных героев сообщества ColdFusion.

В тех книгах, которые он показывает (и из них доступно множество фрагментов в Интернете), о том, как правильно использовать флэш-формы на веб-страницах coldfusion с использованием {CFINSERT}, {CFUPDATE} и т. Д. настоятельно рекомендуется (против) использования.

Но, если он настоятельно рекомендует вам использовать правильное приложение Flex или Flash (в целом) для отображения данных вашей сетки, то я (также) рекомендую вам воспользоваться его советом.


Для страниц CF:

Возможно, вы захотите выполнить вызов AJAX, чтобы запросить ваши данные для вашей сетки при вставке / обновлении / удалении. http://www.raymondcamden.com/index.cfm/2007/8/20/Custom-grid-renderers-with-CFGRID http://www.raymondcamden.com/index.cfm/2007/8/9/Reacting-to-grid-row-selection

также попробуйте:

tutorial1 (точка) learncf (точка) com / (отличный учебник с рабочей [постраничной] демонстрационной сеткой данных)

В противном случае во Flash-приложении да, несколько подходов. Я не видел {ваш} CF-код, но в традиционном флеш-приложении (где вы просматриваете встроенный .swf на веб-странице), если это «когда-либо» происходило с флеш-приложением:

  1. Я почти уверен, что проблема возникнет из-за необходимости повторного вызова связывателя для сетки данных {после того, как будет вызван любой используемый вами метод обновления,} так:

    var dp:DataProvider = new DataProvider(pEvt.result);
    details_dg.dataProvider = dp; // this binds/rebinds your datasrc to details_dg
    // note:  use   .dataProvider not DataGrid.addColumn(), its much faster.
    // {note: this is of course, incomplete code because obviously you'll have 
    // your own datasource wire-up instead of the pEvt object here, etc.}
    
  2. Кроме того, вы можете «попробовать» творчески добавить прослушиватель событий в вашу сетку, чтобы, когда это произойдет; отсортировано, наведен указатель мыши, или нажата кнопка обновления, или что-то еще, {я обычно использовал здесь «headerRelease»}, но все, что вам нужно, предполагая, что «details_dg» является вашей сеткой данных, например:

    details_dg.addEventListener("headerRelease",this);
    function headerRelease(evtObj:Object):Void
    {
          //... add any prelim items needed.
          //... add code to refresh grid from datasource here 
          details_dg.dataProvider = dp; //this re-binds/refreshes your datasrc to details_dg.
    }
    

Рекомендовать использовать "принудительные" обновления "экономно", хотя, особенно, если у вас много записей, учитывая скорость рабочей станции вашей аудитории, а также их интернет-соединение и т. Д.


В любом случае, FLEX НАМНОГО лучше, если вы хотите, чтобы веб-приложение включало правильную сетку данных.

Надеясь, что помогает!

...