Мне было предложено использовать cfGrid, чтобы разрешить редактирование загруженной электронной таблицы перед окончательной фиксацией базы данных. Я был знаком с cfGrid еще в CF 5/6 днях, но не использовал его в последнее время. Поэтому я могу просто неправильно интерпретировать данные.Почему cfGrid, по-видимому, передает неверные данные?
Мой вызов сетки выглядит следующим образом:
<cfgrid name="uGrid"
format="html"
query="xlsData"
title="Edit Uploaded Data"
striperows="yes"
selectmode="edit"
delete="yes">
<cfgridcolumn name="queryRowNum" display="true" />
<cfloop list="#replace(form.columnList, " ", "", "All")#" index="i">
<cfgridcolumn name="#i#" header="#i#" width="200" select="Yes" />
</cfloop>
</cfgrid>
загружать следующие данные, которые правильно отображается в сетке:
QueryRowNum profileID speakingDate
1 1 1/1/2014
2 2 1/15/2014
3 3 3/7/2014
4 5 5/9/2014
5 6 11/8/2014
меняю данные на первой линии на 1/10/2014 и дату в строке 3 - 3/17/2014, а затем представить сетку. На следующей странице я удаляю область формы, чтобы я мог видеть, что происходит cfGrid. Я планирую просмотреть пройденные массивы, чтобы делать мои обновления. Это то, что я вижу в виде рамки:
UGRID.QUERYROWNUM
array
1 3
2 4
UGRID.ROWSTATUS.ACTION
array
1 U
2 U
UGRID.SPEAKINGDATE
array
1 1/10/14
2 3/17/14
Я бы вместо того, чтобы ожидать это:
UGRID.QUERYROWNUM
array
1 1
2 3
UGRID.ROWSTATUS.ACTION
array
1 U
2 U
UGRID.SPEAKINGDATE
array
1 1/10/14
2 3/17/14
Мои ожидания (на основе документации) является то, что любая строка, которая изменяется будет иметь, что весь ряд прошел мимо. Затем я могу использовать массив queryRowNum, чтобы узнать, какая строка запроса потребуется обновить с новыми данными. Поскольку я обновил первую строку и третью строку, и у них есть queryRowNum из 1 и 3 соответственно, я бы ожидал, что в массиве uGrid.QueryRowNum.
Это допущение неверное? Если да, то как узнать, какую строку запроса обновить?
Этот сервер работает, я считаю, CF9.
EDIT
Как ни странно, я только заметил, что я могу изменить то, что передается вместе в неизмененном колонках на основе того, что клетка я выбрал, когда я нажимаю на кнопку отправки. Если я выберу столбец, который я изменил в первой строке и отправлю форму, тогда все будет работать правильно.