j_insert_update – zaawansowane programowanie – przykład 2

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

https://studiosystem.softwarestudio.com.pl/j_insert_update-zaawansowane-programowanie-przyklad-1/

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

j_insert_update hasla usun

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