>

이 문제를 한동안 해결하고 답을 발견 한 적이 있으므로 다른 사람이 시간을 절약 할 수 있기를 바랍니다.

CF11에서 바인딩 매개 변수는 다음과 같습니다 :

<cfset args.bind = 'cfc:data.RecordSelect({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection},"#DataSelect.tableName#","#DataSelect.dsn#",{gridForm:searchColumn},gridForm:searchBox},"#DataSelect.PKName#","#variables.gridColumnsForGrid#")'>

CF11에서는이 기능이 제대로 작동했으며 CF2018에서도 크게 작동합니다. 그리드는 정렬, 업데이트, 새 레코드 추가 및 레코드 삭제입니다. 그러나 필터에 대한 드롭 다운도 있으며 필터링하려고하면 다음 오류가 발생합니다.

Element not found: "gridColumn|gridHeading|gridDataType|gridMask|tableName|PKName|searchable|dsn" [Enable debugging by adding 'cfdebug' to your URL parameters to see more information]

요소는 CFC로 전달되는 열 목록입니다.

  • 답변 # 1

    여기에 해결책이 있습니다 :

    <cfset args.bind = 'cfc:data.RecordSelect({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection},{gridForm:tableName},{gridForm:dsn},{gridForm:searchColumn},{gridForm:searchBox},{gridForm:PKName},{gridForm:gridColumnsForGrid})'>
    <cfinput type="hidden" name="tableName" id="tableName" value="#DataSelect.tableName#" />
    <cfinput type="hidden" name="dsn" id="dsn" value="#DataSelect.dsn#" />
    <cfinput type="hidden" name="PKName" id="PKName" value="#DataSelect.PKName#" />
    <cfinput type="hidden" name="gridColumnsForGrid" id="gridColumnsForGrid" value="#variables.gridColumnsForGrid#" />
    
    

    이것이 내 경험상 의미하는 바는 더 이상 브라케팅되지 않은 요소를 바인딩을 통해 전달할 수 없다는 것입니다. 어쩌면 이것이 CF11에서 작동하기 때문에 이것이 내가 항상해야했던 방법 일 수도 있습니다.

    물론 우리는 더 이상 CFGRID를 사용하지 않아야한다는 것을 알고 있습니다. 왜냐하면 실망과 파멸로 이어질 것입니다 ...하지만이 오래된 코드는 아직 DataTables로 변환하는 데 시간이 걸리지 않습니다. :)

  • 이전 flask - 작업 작성자 이름, 생성 시간을 얻습니다
  • 다음 javascript - 보컬 채널에 참여할 때 어떻게 보컬 채널을 복제 할 수 있습니까?