01.12.2010, 13:53 | #1 |
Участник
|
Запрет вызова окна из строк
У меня есть фрейм в котротом отображается связанное представление .. Я получаю фрейм и вместе с ним грид, который в нем отображается таким образом..
Код: 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&iconType=GridIcon&inProduction=1&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> </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&iconType=GridIcon&inProduction=1&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> </TD></TR></TBODY> Код: 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 |
Moderator
|
Может быть попробовать это: http://mscrm4ever.blogspot.com/2009/...-solution.html
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
01.12.2010, 14:11 | #3 |
Участник
|
Такая штука уже есть, она работает в определенном статусе. Дело в том что у меня стоит так называемый grideditor Он самый . И нужно чтобы Grid был открыт для кликанья.
|
|
01.12.2010, 14:52 | #4 |
Участник
|
Я нашел как добавить свое событие, но как удалить первоначальное так и не выяснил. Нужно было перебирать элементы 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 |
Участник
|
Попробуй вот так:
frameDoc.all['crmGrid'].SetParameter("disableDblClick", "1");
__________________
Читайте SDK!!! |
|
|
|