AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.12.2010, 13:53   #1  
Kipetcoff is offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Регистрация: 20.05.2009
Адрес: Санкт-Петербург
Запрет вызова окна из строк
У меня есть фрейм в котротом отображается связанное представление .. Я получаю фрейм и вместе с ним грид, который в нем отображается таким образом..

Код:
document.getElementById("IFRAME_suprequestline").attachEvent("onreadystatechange", OnViewReadysuprequestline);

function OnViewReadysuprequestline() {
    if (document.getElementById("IFRAME_suprequestline").readyState == 'complete') { var ocrmGrid = frameDoc.all['crmGrid'].InnerGrid;  ........
Задача состоит в том чтобы запретить людям кликать двойным щелчком на строках и открывать окно строки для редактирования.

Мая умный однако. Взял посмотрел код строк грида.. Там вот такой html код

Код:
<COLGROUP>
<COL class=ms-crm-List-PreviewGlyphColumn width=20>
<COL class=ms-crm-List-RowIconColumn width=22>
<COL class="ms-crm-List-DataColumn ms-crm-List-SortedColumn" width=150 name="new_name">
<COL class=ms-crm-List-DataColumn width=302 name="new_itemid">
<COL class=ms-crm-List-DataColumn width=102 name="new_cost">
<COL class=ms-crm-List-DataColumn width=102 name="new_amount">
<COL class=ms-crm-List-DataColumn width=102 name="new_sum">
<COL>
<TBODY>
<TR class=ms-crm-List-SelectedRow otype="10000" oid="{9EF8371E-87FC-DF11-A49E-00155D8E4B06}" selected="true">
<TD class=ms-crm-List-DataCell align=middle><IMG style="CURSOR: hand" alt="Выбрано, для просмотра нажмите кнопку" src="/_imgs/grid/row_selected.gif"></TD>
<TD class=ms-crm-List-DataCell align=middle><IMG alt="" src="/test/_Common/icon.aspx?objectTypeCode=10000&amp;iconType=GridIcon&amp;inProduction=1&amp;cache=1"></TD>
<TD class=ms-crm-List-DataCell><NOBR>стул</NOBR></TD>
<TD class=ms-crm-List-DataCell><NOBR><SPAN class=gridLui ondblclick=clearTimer() contentEditable=false onclick=handleGridClick() otype="10002" oid="{95890F71-61E0-DF11-BD73-00155D8E4B06}" isLink="1">Стул ERA</SPAN></NOBR></TD>
<TD class=ms-crm-List-DataCell><NOBR class=num>‭‬</NOBR></TD>
<TD class=ms-crm-List-DataCell><NOBR class=num>4,00</NOBR></TD>
<TD class=ms-crm-List-DataCell><NOBR class=num>‭0,00р.‬</NOBR></TD>
<TD class=ms-crm-List-DataCell>&nbsp;</TD></TR>
<TR class=ms-crm-List-Row oid="{1C4D8034-87FC-DF11-A49E-00155D8E4B06}">
<TD class=ms-crm-List-DataCell align=middle><IMG style="CURSOR: hand" alt="Для просмотра нажмите кнопку" src="/_imgs/grid/r.gif"></TD>
<TD class=ms-crm-List-DataCell align=middle><IMG alt="" src="/test/_Common/icon.aspx?objectTypeCode=10000&amp;iconType=GridIcon&amp;inProduction=1&amp;cache=1"></TD>
<TD class=ms-crm-List-DataCell><NOBR>телефон</NOBR></TD>
<TD class=ms-crm-List-DataCell><NOBR><SPAN class=gridLui ondblclick=clearTimer() contentEditable=false onclick=handleGridClick() otype="10002" oid="{D57D5B3A-5FE0-DF11-BD73-00155D8E4B06}" isLink="1">Телефон LG GS-5140</SPAN></NOBR></TD>
<TD class=ms-crm-List-DataCell><NOBR class=num>‭‬</NOBR></TD>
<TD class=ms-crm-List-DataCell><NOBR class=num>3,00</NOBR></TD>
<TD class=ms-crm-List-DataCell><NOBR class=num>‭0,00р.‬</NOBR></TD>
<TD class=ms-crm-List-DataCell>&nbsp;</TD></TR></TBODY>
Я там обнаружил элементы SPAN на которые и пытаюсь влиять.. Только мой тестовый метод не вызывается.. И попытки подпортить атрибуты строки тоже ничем не увенчались. Не понятно почему он не подменяет родные вызовы и то ли я вообще стараюсь переопределить?

Код:
var ocrmGrid = frameDoc.all['crmGrid'].InnerGrid;

        function TestF() {alert('Test');}
        
        var rows = ocrmGrid.getElementsByTagName('SPAN');
        var k = 0;
        while (k < rows.length) {
            if (rows[k].id != null) {
                rows[k].ondblclick = TestF;
                rows[k].isLink = "0";
                rows[k].onclick = TestF;
                rows[k].attachEvent("ondblclick", TestF);
                rows[k].attachEvent("onclick", TestF);
            }
            k = k + 1;
        }

Последний раз редактировалось Kipetcoff; 01.12.2010 в 14:19.
Старый 01.12.2010, 14:01   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Может быть попробовать это: http://mscrm4ever.blogspot.com/2009/...-solution.html
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 01.12.2010, 14:11   #3  
Kipetcoff is offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Регистрация: 20.05.2009
Адрес: Санкт-Петербург
Такая штука уже есть, она работает в определенном статусе. Дело в том что у меня стоит так называемый grideditor Он самый . И нужно чтобы Grid был открыт для кликанья.
Старый 01.12.2010, 14:52   #4  
Kipetcoff is offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Регистрация: 20.05.2009
Адрес: Санкт-Петербург
Я нашел как добавить свое событие, но как удалить первоначальное так и не выяснил. Нужно было перебирать элементы TR

Код:
var rows1 = ocrmGrid.getElementsByTagName('TR');
        var h = 0;
        while (h < rows1.length) {
            if (rows1[h].id != null) {
                rows1[h].attachEvent("ondblclick", function Slower() { alert('test'); });
                rows1[h].attachEvent("onclick", function Slower() { alert('test'); });
            }
            h = h + 1;
        }
Старый 02.12.2010, 15:27   #5  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Попробуй вот так:

frameDoc.all['crmGrid'].SetParameter("disableDblClick", "1");
__________________
Читайте SDK!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Заголовок окна Spider Dynamics CRM: Функционал 1 15.04.2010 16:14
Ограничение в количестве отображаемых строк Dekan Dynamics CRM: Функционал 3 09.11.2009 14:36
Информирование пользователя о попадании нового обращения/эл почты/задачи/... в список ожидания, путем всплывающего окна Outlook NatK Dynamics CRM: Администрирование 15 26.10.2009 13:05
Вызов стандартного окна выбора из кастом-страницы Dissident Dynamics CRM: Разработка 6 13.04.2009 07:01
Не работают переносы строк для textarea. Alir Dynamics CRM: Разработка 13 31.10.2008 17:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:20.