DiaListView, formlarda kullanıcıların satırlar halinde veri görüntüleyebileceği ve seçim yapabileceği çok kolonlu bir liste nesnesidir. Seçim listeleri, basit tablo görünümleri, detay listeleri gibi yapılarda kullanılır. Kolon başlıkları tanımlanabilir; veri liste, dict listesi veya JSON string olarak atanabilir. Düzenlenebilir tablodan farklı olarak satır ekleme/silme yoktur; veri tamamen setValue ile doldurulur.
| Adı | Default | Değerleri | Amacı |
|---|---|---|---|
| 🆔 Nesne ID | diaListView_1 | Örn: urunListesi | Nesneye atanacak benzersiz kimliktir. Süreç tasarımında ve kod tarafında bu ID üzerinden erişim sağlanır. |
| 🏷️ Değer | - | JSON veri veya boş | Listenin başlangıç verisi. “Veri” alanı ile de set edilebilir. |
| 🎨 Arka Plan Rengi | ⚪ Beyaz | Renk seçici | Liste arka plan rengini belirler. |
| ✒️ Yazı Rengi | ⚫ Siyah | Renk seçici | Hücre metin rengini belirler. |
| 🔤 Font | Helvetica | Sistem fontları | Liste yazı tipografisini belirler. |
| 🔠 Font Boyu | 12 pt | Sayısal değer | Yazı boyutunu ayarlar. |
| 🔡 Font Tipi | Normal | Koyu, İtalik, Altı Çizgili, Üstü Çizgili | Metin stilini belirler. |
| 📋 Kolonlar | - | Liste (detay aşağıda) | Liste kolon başlıklarının tanımı. Her kolon için alan adı / başlık tanımlanır. |
| 📄 Veri | - | JSON veya liste | Tablonun başlangıç verisi. “Değer” ile aynı mantıkta; liste, dict listesi veya JSON string. |
| 💬 İpucu | - | Serbest metin | Liste üzerine gelindiğinde görünen açıklama. |
| 👁️ Gösterim | Görünür | Görünür / Gizli | Nesnenin formda görünüp görünmeyeceğini belirler. |
| 🔒 Salt Okunur | Hayır | Evet / Hayır | Liste sadece okunabilir olur; seçim yapılamaz (widget devre dışı). |
| 🎭 Stil | - | CSS sınıfı | Özel CSS sınıfları ile görsel stil uygulanabilir. |
| 🖱️ Aksiyon (Item Clicked) | - | Olay bağlanabilir | Bir satıra tek tıklandığında tetiklenir. |
| 🖱️ Aksiyon (Item Double Clicked) | - | Olay bağlanabilir | Bir satıra çift tıklandığında tetiklenir. |
| 🖱️ Aksiyon (Item Changed) | - | Olay bağlanabilir | Seçili satır değiştiğinde tetiklenir. |
Liste Görünümü, kolonlu satırlar halinde veri gösterir; getValue() seçili satırın ilk kolon değerini döndürür.
Kolonlar özelliği, listenin kolon yapısını tanımlar. “Kolonlar” butonuna tıklanarak açılan dialog üzerinden kolonlar eklenir veya düzenlenir. Kolon tanımı JSON formatındadır; her öğe label veya field içerebilir:
| Alan | Zorunlu | Açıklama |
|---|---|---|
| label / field | Hayır | Kolon başlığında görünen metin. Boşsa kolon yine oluşturulur. |
| (JSON öğesi) | - | Her öğe bir kolonu temsil eder; dict ise label veya field, string ise doğrudan başlık kullanılır. |
Örnek Kolonlar JSON:
[{"field": "kodu", "label": "Kod"}, {"field": "adi", "label": "Ad"}, {"field": "birim", "label": "Birim"}]
DiaListView nesnesi için kullanılabilir tüm fonksiyonlar aşağıda kategorize edilmiştir.
🎯 Amaç
Seçili satırın ilk kolon değerini döndürür. Seçili satır yoksa None.
📥 Parametre Yok
📤 Dönüş str veya None
secili = diaListView_1.getValue()
if secili:
print("Seçilen:", secili)
🎯 Amaç Listeye veri atar. Liste temizlenir ve yeni satırlar eklenir.
📥 Parametre value: list (dict veya list/tuple satırlar) veya JSON string
📤 Dönüş Yok
# Dict listesi (kolon sırasına göre değerler)
veriler = [
{"kodu": "STK001", "adi": "Ürün A", "birim": "AD"},
{"kodu": "STK002", "adi": "Ürün B", "birim": "KG"}
]
diaListView_1.setValue(veriler)
# Liste satırları
veriler2 = [["STK001", "Ürün A", "AD"], ["STK002", "Ürün B", "KG"]]
diaListView_1.setValue(veriler2)
# JSON string
diaListView_1.setValue('[{"kodu":"1","adi":"Test"}]')
🎯 Amaç Listedeki tüm satırları temizler.
📥 Parametre Yok
📤 Dönüş Yok
diaListView_1.clearValue()
| Fonksiyon | Açıklama |
| getId() | Nesne ID'sini döndürür |
| setId(id) | Nesne ID'sini değiştirir |
| setBackgroundColor(color) | Arka plan rengi |
| getBackgroundColor() | Arka plan rengini okur |
| setFontColor(color) | Yazı rengi |
| getFontColor() | Yazı rengini okur |
| setFontSize(size) | Font boyutu |
| getFontSize() | Font boyutunu okur |
| setFont(fontName) | Font tipi |
| getFont() | Font tipini okur |
| setBold(statu) | Koyu yazı |
| setItalic(statu) | İtalik yazı |
| setUnderline(statu) | Altı çizgili yazı |
Item Clicked
Bir satıra tek tıklandığında tetiklenir. item, column parametreleri kullanılabilir. getItemValue(item, column) ile hücre değeri okunur (column >= 0 ise o kolon, -1 ise ilk kolon).
Item Double Clicked
Bir satıra çift tıklandığında tetiklenir. item, column parametreleri ve getItemValue(item, column) kullanılabilir.
Item Changed
Seçili satır değiştiğinde tetiklenir. current, previous parametreleri (yeni ve önceki seçili öğe). getItemValue(item, column=0) ile seçili satırın değeri okunabilir.
Süreç çıktısından listeyi doldurma
# Süreçten gelen veriyi listeye ata
param = getFormVariable("param")
urunler = param["secenek_urunler"]
if urunler:
diaListView_1.setValue(urunler)
Aksiyon item changed seçili değeri text alana yazma
seciliKod = getItemValue(item, 1) txt_SeciliMusteri.setText(seciliKod)
Scriptten değer alarak Liste Görünümünde gösterme
# Liste görünümüne birden fazla veri set et sayi = deger diaListView_1.setValue([["Fatura: " + sayi + " adet"], ["Cari: " + cari + " adet"], ["Stok: " + stok + " adet"]])