Почему моя cfgrid выводит true / false вместо слов yes / no - PullRequest
0 голосов
/ 10 августа 2010

Я работаю над кодом, который ранее использовал cfquery, а теперь использую bind to cfc для получения данных. Когда он использовал запрос, столбец «workcomplete» показывал да / нет (это значения, сохраненные в базе данных в виде текста). Теперь, когда он использует связывание, этот столбец показывает true / false вместо yes / no. Они совпадают, т. Е. Если в базе данных указано «Нет», cfgrid показывает «Ложь», а «Да» отображается как «Истина». Есть ли какие-либо настройки, которые можно изменить, чтобы они снова использовали фактические значения из базы данных?

Из cfml:

              <cfform>
          <cfgrid format="html" name="list" striperows="yes" fontsize="12" pagesize="25" selectmode="row" bind="cfc:joborder.getJoborders({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection})">

              <cfgridcolumn name="dispatchnum"   header="Dispatch Num" href="job.cfml" hrefkey="jobid" width="100"/>
              <cfgridcolumn name="submitdate"   header="Submit Date" width="90">
              <cfgridcolumn name="jobname"   header="Job Name" width="200"  >
              <cfgridcolumn name="contactlast"  header="Contact Last Name" width="150" >
              <cfgridcolumn name="workcomplete"   header="Completed" width="100" >
              <cfgridcolumn name="jobid"   header="Edit " href="jobedit.cfml" hrefkey="jobid" width="40" />
              <cfgridcolumn name="editdate"   header="Edit Date" width="80"/>
              <cfgridcolumn name="jobid"   header="DELETE" hrefkey="jobid" width="60" href="delete.cfml?jobid=url.jobid">                                                  
          </cfgrid>
          </cfform>

Из кодекса:

<cffunction name="getJoborders" access="remote">
  <cfargument name="page" required="yes">
  <cfargument name="pageSize" required="yes">
  <cfargument name="gridsortcolumn" required="yes">
  <cfargument name="gridsortdirection" required="yes">

 <cfif arguments.gridsortcolumn eq "">
     <cfset arguments.gridsortcolumn = "dispatchnum" />
     <cfset arguments.gridsortdirection = "desc" />
 </cfif>

   <cfquery datasource="jobs" name="joborders">
  SELECT DISPATCHNUM, SUBMITDATE, WORKCOMPLETE, EDITDATE, JOBID, ORDERNUM, JOBNAME, CONTACTFIRST, CONTACTLAST
  FROM JOBORDERS
  <cfif gridsortcolumn neq ''>
  order by #arguments.gridsortcolumn# #arguments.gridsortdirection#
  </cfif>

Спасибо!

1 Ответ

2 голосов
/ 10 августа 2010

По историческим причинам «да» и «нет» рассматриваются как логические значения CF.Можно предположить, что CFGrid интерпретирует их как таковые и переводит их в более традиционную версию.

Первое, что я бы попробовал, это добавить точку в конец текста (или некоторые другие).аналогичные незначительные преобразования).Что-то вроде

select workcompleted + '.' as workcompleted.....

У меня пока нет доступа к моему CF-серверу, чтобы проверить это.Дайте мне знать, как это работает.

...