Динамическое обновление строк таблицы через Actions

В этом примере мы обновляем строку таблицы динамически через доп форму. 

В SaveItem формы прописаны варианты действия со строками таблицы. SaveItem формы: 

CREATE PROCEDURE [dbo].[fm_watch_tableform_update_saveItem]
   @username nvarchar(256), 
   @itemID int,
   @parameters ExtendedDictionaryParameter readonly
AS
BEGIN
	declare @type nvarchar(max) = (select value2 from @parameters where [key]='buttonType')
	declare @actions nvarchar(max) = ''
    
    if(@type ='remove') begin 
		set @actions = '
         [{tableRow: {
    		item: {
            	id: 3
            },
            tableCode: "watch_table_update",
            tableItemID: "",
            action: "remove",
            pk: "id"
    	}
    }]    
        
        '	   	    
    end 
    
    if(@type ='highlight') begin 
		set @actions = '
         [{tableRow: {
    		item: {
            	id: 1
            },
            tableCode: "watch_table_update",
           
            action: "highlight",
            pk: "id"
    	}
    	}]  '	   	    
    end 
    
    if(@type ='top') begin 
		set @actions = '
         [{tableRow: {
    		item: {
            	id: 123213, code:"xxx", name: "yyy"
            },
            tableCode: "watch_table_update",
            tableItemID: "",
            action: "addtop",
            pk: "id"
    	}
    	}]  '	   	    
    end 
    
    if(@type ='bottom') begin 
		set @actions = '
         [{tableRow: {
    		item: {
            	id: 4444, code:"zzz", name: "aaa", desc_name: "desc1"
            },
            tableCode: "watch_table_update",
            tableItemID: "",
            action: "addbottom",
            pk: "id"
    	}
    	}]  '	   	    
    end 
    
       if(@type ='update') begin 
		set @actions = '
         [{tableRow: {
    		item: {
            	id: 2, code:"Обновленная строка", name: "Name 1", desc_name: "desc for name", color: "#faa"
            },
            tableCode: "watch_table_update",
            tableItemID: "",
            action: "update",
            pk: "id"
    	}
    	}]  '	   	    
    end 
    
    select 1 Result, 'OK' Msg, 1 EnableSaveAlert, @actions actions

END

Таблица в целом может быть любой. Важно, чтобы был определен столбец с PK = true (ключевой столбец, по которому идет идентификация строки).

Описание action по обновлению строки таблицы здесь - https://falconspace.ru/docs/deystviya-v-brauzere-actions-json

Есть также JS вариант вызова обновления строки: 

var item = {id: 123, name: "x1", desc_name: "x2"};
as.table.updateRow(item, {
                cont: $('.as-table[data-code=x1]'), 
                action: "update", 
                pkCol: "id"
});

 

Насколько полезна эта возможность?

Последние обновления

Форма генерации счета

Файлы и документы 10.01.2025

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Сайт использует Cookie. Правила конфиденциальности OK