2012-05-04 4 views
0

В CF9 с IE8 у меня есть cfgrid, который привязан к текстовому (поисковому) полю, а также к функции cfc. Значение текстового поля используется как фильтр запросов в функции cfc. Если найдены какие-либо результаты, сетка заполняется. В противном случае, я хотел бы послать уведомление пользователю как «Нет записей, найденных»
Отображение предупреждения «нет записей» внутри CFC

Я не мог найти что-нибудь в состоянии сделать это, как и яваскрипт и CF-теги, кажется, просто игнорируются внутри ск, т.е.

<cfif myQry.recordCount eq 0> No records found <cfabort></cfif> 

или

<cfif myQry.recordCount eq 0> 
    <script> 
     alert("No records found"); 
    </script> 
</cfif> 

Спасибо за любые предложения

+0

Я удивлен, что это все еще остается без ответа. Вы не показываете весь код компонента, но я думал, что он установлен с output = "no". Другой вариант заключается в том, что если у вас есть enablecfoutputonly = "yes", установленный либо в коде, либо в cfadmin, тогда вам нужно будет поместить теги cfoutput вокруг любого кода, чтобы он отображался. – Sharondio

+0

Вопросы FYI, CF получают больше внимания, если вы также включаете один из основных тегов: 'cfml' для вопросов о CFML вообще и/или' coldfusion' для конкретных вопросов Adobe. – Leigh

ответ

1

Это на самом деле оказались сложнее, чем я думал. Я пробовал пару вещей, которые я обнаружил, например, оператор ajaxOnLoad или событие onLoad, но они не работали должным образом. Наконец, я решил это с помощью функции js:

getTotalRows = function() { 
    var isGrid = ColdFusion.Grid.getGridObject('myGrid'); 
    var isData = isGrid.getStore(); 
    isData.addListener("load", function() { 
    if(isData.totalLength == 0) 
    { 
    alert("No records found"); 
    return false; 
     } 
    }); 
    } 
    ColdFusion.Event.registerOnLoad(getTotalRows,null,false,true);