Здравствуйте, <Аноним>, Вы писали:
А>типа как на рсдне появляется "Загрузка, подождите пожалуйста..."
посмотрел я на это дерево первый раз... мда... клиентский API там хиловат
решение в лоб...в конец страницы
пишем
<script>
var base$TreeView_PopulateNodeDoCallBack = this.TreeView_PopulateNodeDoCallBack;
var base$TreeView_ProcessNodeData = this.TreeView_ProcessNodeData;
this.TreeView_ProcessNodeData = function ( result, context )
{
alert( "after load " );
return base$TreeView_ProcessNodeData ( result, context );
}
this.TreeView_PopulateNodeDoCallBack = function (context,param)
{
alert( "before load " );
return base$TreeView_PopulateNodeDoCallBack(context,param)
}
</script>
ну или через RegisterStartupScript
вместо алертов пишем код отображающий какой нибудь индикатор загрузки.
как я уже сказал клиентское API ущербное, ноду там добавить/удалить низя, поэтому в чистом виде как на рсдн не получится.
вот пример простенькой реализации.
<script>
var base$TreeView_PopulateNodeDoCallBack = this.TreeView_PopulateNodeDoCallBack;
var base$TreeView_ProcessNodeData = this.TreeView_ProcessNodeData;
this.TreeView_ProcessNodeData = function ( result, context )
{
//alert( "after load " );
hide_wait_for_node( context.node );
return base$TreeView_ProcessNodeData ( result, context );
}
this.TreeView_PopulateNodeDoCallBack = function (context,param)
{
//alert( "before load " );
show_wait_for_node( context.node );
return base$TreeView_PopulateNodeDoCallBack(context,param)
}
function hide_wait_for_node( node )
{
if ( node.wait_img )
{
node.removeChild( node.wait_img );
}
}
function show_wait_for_node( node )
{
var wait_img = document.createElement("IMG" );
wait_img.src = "loading.gif";
wait_img.border = 0;
node.wait_img = wait_img;
node.appendChild( wait_img );
}
</script>
мой хостинг временно не работает
подниму — выложу демо.
а пока скриншот:

... << RSDN@Home 1.2.0 alpha rev. 662>>