Widget | Advanced SQL

Tanım

Veritabanındaki istenilen bilgiyi belirtilen kısıtlar girilerek çekmeye yarayan ve istenen tüm sayfalara eklenebilen widget eklentisidir. Gösterilmek istenen kolonlar "Kolonlar" kısmından ayarlanabilen, istenilen kısıtların verilebildiği bunlara göre sıralanıp filtrelenebilen ve kullanıcıya bu bilgileri grid olarak sunan bir widgettır.

Kullanımı

Özelleştirilebilir sistem sayfalarına ya da yeni oluşturulan sayfalara widget olarak eklenmektedir. Eklendikten sonra girdiler verildikten sonra kullanım sağlanabilmektedir.
"Tasarım Modu" açıldığında "Sayfa Tasarımı Düzenle" özelliği ile sayfa layout üzerinden "Yeni Widget Ekle" ile eklenebilmektedir.

Ekran

Görünüm

Tüm sayfalara eklenebilir widget bileşenidir. Belirlenen ayarlara göre istenilen tablodan veri çekip istenilen kolonları sunmaktadır. Aşağıdaki grid TBLCASABIT tablosundan veri getirip gösteren bir örnektir. Tüm verileri çekerek istenilen 5 kolonu göstermektedir.

Ayarlar

Yetkiniz dahilinde Tasarım modu ile "Ayarlar" kısmından eklentinin parametre ekranı açılmaktadır.

  • Başlık Widget başlık bilgisi
  • Tablo Adı Veritabanında verinin çekileceği tablo adı ya da view burada belirtilmektedir.
  • Kolonlar Gridde gösterilmek istenilen kolonlar burada belirtilmektedir.
  • Kısıt Çekilecek olan veriye belli kısıtlar burada belirlenmektedir.
  • Sıralama Veri sıralama burada belirtilmektedir.
  • Sayfalama Yap Veri sayfalama burada aktif/pasif hale getirilmektedir.
  • Sayfa Sayısı Sayfa sayısı kısıtı burada belirtilmektedir.
  • Seçilebilir Satır mı Griddeki satır seçimi burada belirtilmektedir.
  • Sadece Tek Post İşlemi Yap Verilerin POST işlemi burada belirtilmektedir.
  • Grid Event | OnDataLoaded Veri yüklendikten sonra bir işlem yapılacaksa burada belirtilmektedir.
  • Grid Event | RowDataBounded Grid yüklenirken içerisindeki kontrollere erişim olacaksa burada belirtilmektedir.
  • Javascript Gride özel javascript kodu buradan entegre edilmektedir.



Kısıtlarda kullanılmak üzere en altta bulunan kolon adları üzerine tıklanıldığı zaman kısıt alanına kopyalanmaktadır.

Gridde görünecek olan kolon sayısı da ayarlardan belirtilmektedir. Burada kolon tipi, özellikleri ayarlanmaktadır.
2 adet buton ve 20 adet kolon bulunmaktadır.

Buton özellikleri;

  • ShowButton Buton aktif/pasif burada belirtilmektedir.
  • ButtonName Buton adı burada belirtilmektedir.
  • ButtonClick Buton tıklanma eventı burada belirtilmektedir.
  • ActionProcedure Buton prosedür ile çalışmaktaysa burada belirtilmelidir.



Grid kolon özellik ve tipi içinde parametreler bulunmaktadır. Bunlar;

  • DB Kolon Adı Tablodaki kolon adı
  • Kolon Başlığı Gridde görüntülenecek adı
  • Tipi Veri tipi (string, int..)
  • Sıralanabilir Griddeki sıralama davranışı
  • Filtrelenebilir Gridde veri filtreleme parametresi
  • Görüntülensin Kolon olarak gridde görüntülenme parametresi
  • Anahtar Kelime Kolon anahtar kelime olarak seçilirse tekli post işleminde bu kolonlar yollanır
  • Url Bilgisi Kolona link buradan verilmektedir
  • Genişlik Kolon genişliğini ayarlar.

 

Veritabanı İşlemleri


Uyarlamaya açık Sql sorguları kullanılmaktadır. Herhangi bir veritabanı sorgusu kullanılabilir.

 

PRTSP_ADVANCEDSQLGRIDACTION

Buton1 için sistem tanımlı oluşturulan ve tetiklenen prosedürdür.

Buton2 de aktif edilerek kullanılacak ise, bu prosedür veritabanından manuel çoklanarak ismi değiştirilebilir (ÖR: PRTSP_ADVANCEDSQLGRIDACTION2 ) ve farklı bir aksiyonu tetiklemek üzere buton içine tanımlanarak kullanıma hazır hale getirilebilir. 

Bağlı Modüller

  • Özelleştirilebilir sistem sayfaları ve yeni oluşturulan tüm sayfalara eklenip çalışabilmektedir.

 

Örnek 1


Örnek, TBLCASABIT tablosundan kısıtsız olarak veri çeken gridde sıralama cari koduna göre yapılmaktadır. Seçilebilir satır özelliği aktif hale getirilerek satır bazında işlem yapılması sağlanmaktadır. İlk kolonda cari kodu, "Url Bilgisi" kullanılarak buton halinde gösterilmektedir. Verilen linke cari kodu parametre olarak geçirerek modal açmaktadır.


"Kaydet" ve "İptal" olmak üzere 2 buton eklenmiştir. Kaydet butonu içine yazılan prosedür ile işlemini gerçekleştirmektedir. Satırdan alınan parametreler XML halinde prosedüre yollanmaktadır. Burada parçalanıp işleme girip buna göre sonuç ve mesaj dönmektedir.








SQL Sorgu

PRTSP_ADVANCEDSQLGRIDACTION

Stored Procedure


ALTER PROCEDURE [dbo].[PRTSP_ADVANCEDSQLGRIDACTION]
@CODE VARCHAR(MAX)
AS
– Ornek XML parse islemi. gelen parametreler asagidaki gibi parse edilip, kullanilabilinir. Su an icin bir ornektir.
--declare @xml xml
--set @xml = '<root><master><UserId>2</UserId><StoreId>0</StoreId><BranchId>0</BranchId><ShoppingCartCurrentAccountCode>12011001</ShoppingCartCurrentAccountCode><CurrentShoppingCartId>3033</CurrentShoppingCartId></master><code><row><code>0001</code><__GSM
--1>22</__GSM1><GSM2>frfrf</GSM2></row></code></root>'
----select @aa
--declare @tmp1 varchar(35)
--declare @tmp2 varchar(35)
--declare @tmp3 varchar(35)
--SET @tmp1 = @xml.value('(/root/master/UserId)[1]', 'varchar(35)')
--SET @tmp2 = @xml.value('(/root/master/ShoppingCartCurrentAccountCode)[1]', 'varchar(35)')
--SET @tmp3 = @xml.value('(/root/code/row/code)[1]', 'varchar(35)')
--SELECT tmp2,@tmp3

DECLARE @RESULT BIT
DECLARE @MESSAGE NVARCHAR(MAX)
SET @RESULT = 1
SET @MESSAGE = 'Başarıyla tamamlandı.'
--SELECT @RESULT AS [Result], @MESSAGE AS [Message], '../../OrderFlow/Order/ShoppingCart' AS [ReturnUrl]
--SELECT @RESULT AS [Result], @MESSAGE AS [Message], '' AS [ReturnUrl]
SELECT @RESULT AS [Result], @MESSAGE AS [Message]

Örnek 2


Bu örnekte TBLSTSABIT tablosundan kısıtsız olarak çekilen verilerden 2 kolon gösterilmektedir. Diğer örnekten farklı olarak burada tekli post işlemine yer verilmektedir. Tekli post işleminde seçtiğiniz satırlarda bulunan kolonlarda "Anahtar kelime" seçili olanlar XML olarak aktarılmaktadır.


Burada "kod" kolonu anahtar kelime olarak seçilmiştir. Seçilen satırların kodları XML olarak "Kaydet" butonunda bulunan prosedüre aktarılır. Orada parse edilerek istenirse buradan yollanan kodların ürünleri direk sepete de aktarılabilmektedir.


 

Örnek 3


Aşağıdaki griddeTBLSTSABIT tablosundan kısıtsız olarak gelen verilerden 2 kolon gösterilmektedir. İlk kolonda gelen veri "Url" içerisinde kullanılmaktadır. Gridde "Detay" adlı buton çizdirilmektedir. Bu kodu linkte parametre olarak geçirerek ilgili satırın ürün detayını modal – pop up olarak açmaktadır.



Url bilgisi= MODAL=1#TITLE=Detay#URL=../../OrderFlow/Inventory/ShowDetail?inventoryCode={0}&wmodal=1

Bu URL Bilgisi içerisinde; 

TITLE: Buton üzerinde yazacak bilgiyi,
URL: Hangi sayfanın açılacağını gösterir.

MODAL=1 ile başlatmak modal olarak açılmayı sağlamaktadır. Koyulmaz ise sayfanın aynı sekmede açılması sağlanır.



Page viewed 3014 times by 2 users since Mar 28, 2017