logo-softwarestudio-2020-600

j_insert_update – zaawansowane programowanie – przykład 2

Dzięki platformie StudioSystem użytkownicy mogą tworzyć zaawansowane i dostosowane formularze do dowolnego celu. Od zbierania informacji o klientach po generowanie potencjalnych klientów i nie tylko, zaawansowane funkcje programowania formularzy platformy mogą zapewnić użytkownikom narzędzia, których potrzebują, aby ich formularze były jak najbardziej efektywne.

Platforma StudioSystem oferuje szerokie możliwości zaawansowanego programowania formularzy. Dzięki swoim potężnym funkcjom może zapewnić użytkownikom możliwość tworzenia i dostosowywania formularzy do różnych celów. Ponadto platforma StudioSystem oferuje szereg narzędzi do testowania i analizy formularzy. Może to pomóc użytkownikom zidentyfikować i rozwiązać wszelkie problemy z ich formularzami, zanim staną się problemem. Platforma umożliwia również przeprowadzanie testów A/B, dzięki czemu użytkownicy mogą porównywać skuteczność różnych projektów formularzy.

Przykład jest kontynuacją konfiguracji transakacji j_insert_update.aspx ze strony

Poniżej zostanie opisana zmiana tabelki, która będzie miała możliwość usuwania rekordu.

Do poprzedniego przykładu wprowadzamy zmianę w funkcji UstawTable, która tworzy tabelkę poprzez dodanie definicji pierwszej kolumny, który wyświetli przycisk z akcją usuwania

{
width: 20, text: ”,
cellsRenderer: function (rowKey, dataField, value, data) {
var id = $(’#’ + idGrid).jqxGrid(’getrowid’, rowKey);
var RenderString = „<img onclick=btnUsun('” + id + „’) title=’usuń pozycję’ class=’art-buttonImg’ style=’padding:5px;’ src=’/images_v/16×16/delete.png’ width=’16’ height=’16’/>”;
return RenderString;
}
},

Oraz dodamy funkcje btnUsun, która jest wykonywana, gdy użytkownik kliknie na przycisk.

function btnUsun(MyId) {
PageMethods.UpdateACH(„dpuwa”, „X”, „refno_poz=” + MyId, „softwarestudioConnectionString”, DodajSucceeded, OnFailed);
return false;
}

Jak widać funkcja usuwania zmienia wartość w kolumnie ACH wpisując zamiast wartości domyślnej 1, wartość oznaczającą rekord usunięty X

Dla pełnego działania należy także zmienić zapytanie aby uwzględniało wyłącznie rekordy z ACH=1 oraz zmienić nazwę identyfikatora wiersza tabeli na ID

Cała funkcja tworząca tabelkę

function UstawTable(cKontrolka) {
 var idGrid = 'grid' + cKontrolka;
 $('#' + cKontrolka).html("<div id='" + idGrid + "'></div>");
 var cZrodlo = PobierzDataTable("upper([REFNO_POZ]) as ID,[TYTUL],[UWAGI],[ADRESAT],[NADAWCA] FROM [dpuwa] WHERE REFNO=" + gcRefno + " AND ACH='1'");
 
 var source =
 {
 datatype: "json",
 datafields: [
 { name: 'TYTUL', type: 'string' },
 { name: 'ADRESAT', type: 'string' },
 { name: 'NADAWCA', type: 'string' },
 { name: 'UWAGI', type: 'string' }
 ],
 localdata: cZrodlo,
 id: 'ID'
 };
var dataAdapter = new $.jqx.dataAdapter(source);
$("#" + idGrid).jqxGrid(
 {
 theme: 'energyblue',
 height: '300px',
 width: '1000px',
 source: dataAdapter,
 altrows: true,
 columns: [
 {
 width: 20, text: '',
 cellsRenderer: function (rowKey, dataField, value, data) {
 var id = $('#' + idGrid).jqxGrid('getrowid', rowKey);
 var RenderString = "<img onclick=btnUsun('" + id + "') title='usuń pozycję' class='art-buttonImg' style='padding:5px;' src='/images_v/16x16/delete.png' width='16' height='16'/>";
 return RenderString;
 }
 },
 { text: 'Tytuł', datafield: 'TYTUL', width: 200 },
 { text: 'Login', datafield: 'ADRESAT', width: 200 },
 { text: 'Hasło', datafield: 'NADAWCA', width: 200 },
 { text: 'Uwagi', datafield: 'UWAGI', width: 400 }
 ]
 });
JqxFormatujGrid('#' + idGrid);
}
 

A dla tych którym nie chce się szukać, zapraszam do kodu źródłowego pliku role_int/int_ss_knkon_pass.js