Показать сообщение отдельно
Старый 13.09.2006, 00:00   #20  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,273 / 3466 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
А если немного "подпилить" класс SysTableBrowser, метод run()
PHP код:
public void run(tableId tableIdCommon _tmpTable null)
{
    
// Обозреватель временных таблиц -->
    
FormDataSource           formDataSource
    
// Обозреватель временных таблиц <--
    
Form                            tableBrowser;
..........
    
formRun.parmTableId(tableId);
    
// Обозреватель временных таблиц -->
    
if (_tmpTable && (_tmpTable.isTmp() || dictTable.isTmp()))
    {
        
formDataSource formRun.dataSource(1);
        if (
_tmpTable.isTmp())
        {
            
formDataSource.cursor().setTmp();
        }
        
formDataSource.cursor().setTmpData(_tmpTable);
        
formDataSource.allowCreate(false);
        
formDataSource.allowDelete(false);
    }
    
// Обозреватель временных таблиц <--
    
formRun.run();
    ......

и в коде, который правил oip во втором сообщении изменить:
PHP код:
if(formRun && formRun.dataSourceCount()>0)
{
    
ds=formRun.dataSource();
    
tableID ds.table();
    if(
tableID)
        new 
SysTableBrowser().run(tableIDds.cursor());
}
if(!
tableID && selected && selected.sysNodeType()==#NT_DBTABLE)
{
    
tableID=tableName2ID(selected.treeNodeName());
    if(
tableID)
         new 
SysTableBrowser().run(tableID);

то мы "научим" наш обозреватель таблиц смотреть содержимое временных таблиц
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 13.09.2006 в 00:03.
За это сообщение автора поблагодарили: Logger (3).