Добрый день. Необходимо уловить добавление строки в таблицу и кликнуть по ней. Собственно, чтобы кликнуть по ней с помощью _IEAction необходимо предварительно присвоить переменную данному элементу, если я правильно понимаю.
Изначально я пробовал получить значения с помощью _IETableGetCollection, таким кодом
но скрипт выдаёт ошибку при заполнении массива [2]. Table 0 и Table 1 отображаются нормально:
Сам код таблицы выглядит следующим образом:
Как видно из кода, Тэг 'div' передаёт не id каждого элемента, а класс и стиль.. и вот как схватить нужный элемент представленный этими классом и стилем - вопрос, на который у меня нет ответа.
Единственная зацепка, которую мне удалось нащупать такая:
Но толку от этого пока что не много. Лишь проверка на наличие строк, без возможности совершения с ней какого-либо действия.
Так вот главный вопрос.
Каким образом можно щёлкнуть на строку этой таблицы (если это вообще таблица)?
Если это слишком сложно, то не проще ли передать значение 'datagrid-row-index' напрямую? Если проще, то как это сделать? :-[
Извиняюсь, если говорю непонятно ))
п.с. Щёлкнуть по строке нужно для того, чтобы справа появилось скрытое меню вида:
[/URL]
Изначально я пробовал получить значения с помощью _IETableGetCollection, таким кодом
Код:
For $i=0 to 10 step 1
$Table=_IETableGetCollection($ObjWindow,$i)
$TableData=_IETableWriteToArray($Table)
_ArrayDisplay($TableData,"Table"&$i)
Next
но скрипт выдаёт ошибку при заполнении массива [2]. Table 0 и Table 1 отображаются нормально:
Код:
: ==> Array variable subscript badly formatted.:
Local $a_TableCells[$i_cols][$i_rows]
Local $a_TableCells[^ ERROR
Сам код таблицы выглядит следующим образом:
Код:
<div style="width: 0px;" class="datagrid-view1"><div style="width: 0px; height: 21px;" class="datagrid-header"><div style="display: block;" class="datagrid-header-inner"><table style="height: 22px;" border="0" cellSpacing="0" cellPadding="0"><tbody></tbody></table></div></div><div style="width: 0px; height: 766px;" class="datagrid-body"><div class="datagrid-body-inner"></div></div><div style="width: 0px;" class="datagrid-footer"><div style="display: none;" class="datagrid-footer-inner"></div></div></div><div style="left: 0px; width: 874px;" class="datagrid-view2"><div style="width: 874px; height: 21px;" class="datagrid-header"><div style="display: block;" class="datagrid-header-inner"><table style="height: 22px;" border="0" cellSpacing="0" cellPadding="0"><tbody><tr><td field="checkbox"><div style="width: 27px; text-align: center;" class="datagrid-cell"><span></span><span class="datagrid-sort-icon"> </span></div></td><td field="name"><div style="width: 231px; text-align: left;" class="datagrid-cell"><span>Имя</span><span class="datagrid-sort-icon"> </span></div></td><td field="w"><div style="width: 231px; text-align: left;" class="datagrid-cell"><span>Регион</span><span class="datagrid-sort-icon"> </span></div></td><td field="rl"><div style="width: 231px; text-align: left;" class="datagrid-cell"><span>Пришел с адреса</span><span class="datagrid-sort-icon"> </span></div></td><td field="d"><div style="width: 91px; text-align: left;" class="datagrid-cell"><span>Дата</span><span class="datagrid-sort-icon"> </span></div></td></tr></tbody></table></div></div><div style="width: 874px; height: 766px;" class="datagrid-body"><table border="0" cellSpacing="0" cellPadding="0"><tbody><tr class="datagrid-row" datagrid-row-index="0"><td field="checkbox"><div style="width: 27px; height: auto; text-align: center;" class="datagrid-cell "><input name="selected[]" value="206551" type="checkbox"></div></td><td field="name"><div style="width: 231px; height: auto; text-align: left;" class="datagrid-cell ">Testtesttest Test</div></td><td field="w"><div style="width: 231px; height: auto; text-align: left;" class="datagrid-cell ">Россия</div></td><td field="rl"><div style="width: 231px; height: auto; text-align: left;" class="datagrid-cell "></div></td><td field="d"><div style="width: 91px; height: auto; text-align: left;" class="datagrid-cell ">17.02.2013 10:04</div></td></tr><tr class="datagrid-row" datagrid-row-index="1"><td field="checkbox"><div style="width: 27px; height: auto; text-align: center;" class="datagrid-cell "><input name="selected[]" value="206447" type="checkbox"></div></td><td field="name"><div style="width: 231px; height: auto; text-align: left;" class="datagrid-cell ">test test</div></td><td field="w"><div style="width: 231px; height: auto; text-align: left;" class="datagrid-cell ">Россия</div></td><td field="rl"><div style="width: 231px; height: auto; text-align: left;" class="datagrid-cell "></div></td><td field="d"><div style="width: 91px; height: auto; text-align: left;" class="datagrid-cell ">17.02.2013 00:13</div></td></tr></tbody></table></div><div style="width: 874px;" class="datagrid-footer"><div style="display: none;" class="datagrid-footer-inner"></div></div></div><div class="datagrid-resize-proxy"></div><table style="display: none;" id="regs">
</table>
Как видно из кода, Тэг 'div' передаёт не id каждого элемента, а класс и стиль.. и вот как схватить нужный элемент представленный этими классом и стилем - вопрос, на который у меня нет ответа.
Единственная зацепка, которую мне удалось нащупать такая:
Код:
Local $ObjWindowHTML = _IEBodyReadHTML($ObjWindow)
For $i=10 to 0 step -1
If StringInStr($ObjWindowHTML,'<tr class="datagrid-row" datagrid-row-index="'&$i&'">') Then
MsgBox(0,"Found", "datagrid-row-index="&$i)
EndIf
Next
Но толку от этого пока что не много. Лишь проверка на наличие строк, без возможности совершения с ней какого-либо действия.
Так вот главный вопрос.
Каким образом можно щёлкнуть на строку этой таблицы (если это вообще таблица)?
Если это слишком сложно, то не проще ли передать значение 'datagrid-row-index' напрямую? Если проще, то как это сделать? :-[
Извиняюсь, если говорю непонятно ))
п.с. Щёлкнуть по строке нужно для того, чтобы справа появилось скрытое меню вида: