RadTreeView Telerik 2007 в IE8 решить проблему? - PullRequest
0 голосов
/ 14 сентября 2010

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

Я понял, что TreeView не отображается должным образом в IE8 из-за внутренней функции:

RadTreeView.AlignImage=function(_4e){
_4e.align="absmiddle";
_4e.style.display="inline";
if(!document.all||window.opera){
if(_4e.nextSibling&&_4e.nextSibling.tagName=="SPAN"){
_4e.nextSibling.style.verticalAlign="middle";
}
if(_4e.nextSibling&&_4e.nextSibling.tagName=="INPUT"){
_4e.nextSibling.style.verticalAlign="middle";
}

Исправление будет выглядеть следующим образом:

RadTreeView.AlignImage=function(_4e){
_4e.align="middle";
_4e.style.display="inline";
if(!document.all||window.opera){
if(_4e.nextSibling&&_4e.nextSibling.tagName=="SPAN"){
_4e.nextSibling.style.verticalAlign="middle";
}
if(_4e.nextSibling&&_4e.nextSibling.tagName=="INPUT"){
_4e.nextSibling.style.verticalAlign="middle";
}

Редактировать: Кажется, что оно также используется в качестве absMiddle в сборке .NET.Вышеуказанные функции являются функциями javascript.

Но как я могу изменить это в скомпилированной dll?Есть ли способ исправить это в DLL?

Нужно ли использовать отражение кода?Или есть ли обходной путь для отмены функции AlignImage?

Редактировать


Быстрое и грязное исправление - установка CSS (Редактирование 2: это исправлениедревовидная структура - но может вызвать другие проблемы с элементами input и img html)

input
{
    vertical-align: middle!important;
}
img
{
    vertical-align: middle!important;
}

1 Ответ

0 голосов
/ 14 сентября 2010

Андреас, я бы перешел к древовидному представлению Telerik AJAX, потому что я знаю, что он полностью поддерживает IE8 и будет поддерживать IE9 после его выпуска. Для старого дерева вы должны либо использовать обходные пути, либо установить режим совместимости IE7, чтобы убедиться, что он будет отображен правильно.

...