마지막으로 데이터베이스에 커밋하기 전에 업로드 된 스프레드 시트를 편집 할 수 있도록 cfGrid를 사용하라는 요청을 받았습니다. CF 5/6 일에 cfGrid에 익숙했지만 최근에 사용하지 않았습니다. 그래서 나는 단순히 데이터를 잘못 해석 할 수 있습니다.왜 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
내가 2014년 1월 10일에 라인 하나에 데이터를 변경 :
<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>
내가 그리드에 제대로 표시되는 다음과 같은 데이터를 업로드 다음과 같이
내 그리드 전화입니다 2014 년 3 월 3 일부터 3 월 17 일까지의 날짜와 그리드를 제출하십시오. 다음 페이지에서 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"배열을 사용하여 새 데이터로 업데이트해야하는 쿼리 행을 파악할 수 있습니다. 첫 번째 행과 세 번째 행을 업데이트 했으므로 각각 1과 3의 queryRowNum을 가졌으므로 uGrid.QueryRowNum 배열에서 예상했을 것입니다.
이 가정은 올바르지 않습니까? 그렇다면 어떻게 업데이트 할 쿼리 행을 알 수 있습니까?
이 서버는 실행 중이며, CF9입니다.
편집
이상하게도, 난 그냥 제출 버튼을 클릭 할 때 내가 선택한 항목 세포를 기반으로 변경되지 않은 열의를 따라 전달되는 변경할 수 있습니다 것으로 나타났습니다. 첫 번째 행에서 변경 한 열을 선택하고 양식을 제출하면 모든 것이 올바르게 작동합니다.