0

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";
}

編集: .NET アセンブリでも absMiddle として使用されているようです。上記の関数は JavaScript 関数です。

しかし、コンパイルされたdllでこれを変更するにはどうすればよいですか? dllでそれを修正する方法はありますか?

コード リフレクションを使用する必要がありますか? または、AlignImage 関数をオーバーライドする回避策はありますか?

編集


迅速で汚い修正はcssを設定することです(Edit2:これによりツリービューが修正されますが、inputおよびimg html要素で他の問題が発生する可能性があります)

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

1 に答える 1

0

Andreas さん、私は Telerik AJAX ツリービューにジャンプします。IE8 が完全にサポートされており、IE9 がリリースされればサポートされることがわかっているからです。古いツリービューについては、回避策を使用するか、IE7 互換モードを設定して、適切にレンダリングされるようにする必要があります。

于 2010-09-14T11:50:26.623 に答える