KBS TKYS sistemi, tasınır istek bölümünde tek tek yazmanıza gerekkalmadan yapabilirsiniz Türkiye’de kamu kurumlarının kaynak yönetimini kolaylaştıran güçlü bir yazılım altyapısıdır. Bu sistemde veri tabanlı tablolar genellikle ExtJS tabanlı gridler ile sunulur. Özellikle malzeme ve stok yönetimi ekranlarında sayılar sıkça yer alır. Bazen, kullanıcıların 0 olan hücreleri tek tek manuel güncellemesi gerekebilir. Bu işlem hem zaman kaybına yol açar hem de hata riskini artırır.
Neyse ki, JavaScript ile ExtJS grid’in store verisini güncelleyerek tüm 0 değerleri otomatik olarak değiştirmek mümkündür. Bu makalede, bu işlemi nasıl güvenli ve etkili bir şekilde yapabileceğinizi göstereceğiz.
Otomatik Güncelleme Kodu
Aşağıdaki JavaScript kodu, tüm ExtJS grid bileşenlerini tarar ve store’da değeri 0 olan tüm alanları 99999
ile günceller: f12 ile consolu acıp calıştırabilirsiniz
Ext.ComponentMgr.all.each(function(c){
if (c.getStore) { // GridPanel olanlar
var store = c.getStore();
if (store) {
store.each(function(record){
// İlk kayıttan field adlarını çıkar
var fields = Object.keys(record.data);
fields.forEach(function(f){
if (record.get(f) === 0) {
record.set(f, 99999);
}
});
});
}
}
});
Kod Açıklaması:
- Ext.ComponentMgr.all.each → Sayfadaki tüm ExtJS componentlerini tarar.
- component.getStore → GridPanel olan bileşenleri filtreler.
- store.each → Grid’in her satırını (record) gezer.
- Object.keys(record.data) → Satırdaki tüm alanları alır.
- record.set(fieldName, 99999) → Değeri 0 olan alanları 99999 ile günceller. 99999 olan yere farklı bir rakam yapabilrisiniz