Welcome to Emakin Q&A, where you can ask questions and receive answers from other members of the community.

Çoklu Seçimi Ekrana Nasıl Yansıtabilirim?

0 votes
51 views

Merhaba,
Bir süreç içindeki dropdown listesinden aynı anda birden fazla seçerek işlem yapılabiliniyor. Örneğin aynı akış içinde birden fazla masraf girebiliyoruz.
Peki akışı ilk başlattığımız anda bu listeden bir kaç tanesi seçili olacak şekilde ekrana yansıtabilir miyim?

asked Mar 2 by Mesut.Doganay Han Solo (1,060 points)

bir dropdown içerisinde aynı anda nasıl birden fazla seçim yapıyosunuz?

2 Answers

0 votes
 
Best answer

Selam Mesut, istediğini doğru anladıysam aşağıdaki şekilde olması gerekiyor, deneyebilir misin?

/* Form açıldığında gelen dropdownlarda gözükmesini istediğin değerlerin 
 id'lerini sırasıyla bu array'de veriliyor.   */
var malzemeArray = [1, 2, 3, 2];    

var index = 0;     // malzemeArray index

/* ekrandaki tüm Malzeme node'larını tarayıp sırasıyla arraydeki
 değerleri bu alanlara yazar.   */
$Xml.SelectAll('//Malzeme/Id', function() {    
   this.SetValue(malzemeArray[index]);
   index = ++index;
});

Form üzerindeki dropdown adeti ile malzemeArray'de verdiğin elemanların sayılarının eşit olması pratik açısından iyi olur, bunun dışında kontrol ettiğimde böyle bir durum sorun oluşturmuyor. Üstteki yerine aşağıdaki kod ile array'in boyutunu dikkate alarak da çalıştırabilirsin, seçim senin.

var malzemeArray = [1, 2, 3, 2];
for(var i = 0; i < malzemeArray.length; i++) {
   $Xml.SetValue('//Malzeme['+ (i+1) +']/Id',malzemeArray[i]);
}

Örnekte kullandığım form:

answered May 23 by bulentyuksel C-3PO (2,710 points)
selected Jul 4 by Mesut.Doganay

Merhaba, Bülent cevabın için teşekkür ederim. Bu şekilde bir yapı olması lazım fakat ben bunu iş öncesine yazdığımda süreç içerisinde yine alt alta değer gelmedi. Sen de varsa örneği xml ile paylaşabilir misin?

Yukarıdaki cevabı yazarken test etmek için yarattığım süreci mailine gönderiyorum ;)

0 votes

Tabi ki.
Bunun için yapmanız gereken sürecin ilk adımının prework script'inde seçim ile ilgili olan kontrole ait xml alanını güncellemek.

Eğer bu alanı tespit etmekte zorlanıyorsanız, form açıkken ilgili alanları işaretleyin ve sonrasında formun en altında bulunan XML butonuna basarak oluşan xml'i inceleyin. Bu işlem size, hangi alanları güncellemeniz gerektiğini anlamanız için fikir verecektir.

answered Mar 3 by cthulhu Luke Skywalker (4,210 points)

Merhaba sizin dediğinizi anladım yalnız bu verinin tipi çoklanan. Tek bir liste var her defasında bu listeden bir tane seçilecek. Kağıt kalem silgi vs liste tek ben giriş yapıtığımda; 1 kağıt ve alt satırda da 1 kalem seçilmesini yapmaya çalışıyorum. Preworkte yazmaya çalıştığımda hepsini kalem yada hepsini silgi seçiyor.

tam anlayamadım ne yapmak istediğinizi. Bir ekran görüntüsü paylaşabilir misiniz, yapmak istediğiniz işlemle ilgili?

Ekran da görüldüğü gibi tek bir veri seti ve dropdown veri tipi ile bir liste mevcut. Ben iş öncesine kodu yazarken bu veriyi kullanıp her satırda dropdown daki maddeleri tek tek ekranda seçili olacak şekilde yapmaya çalışıyorum.

selam,
ekran görüntüsünü görünmüyor maalesef. Kontrol edebilir misin?

Ben galiba resim ekleyemiyorum :(

Şöyle düşünün "malzemeler" diye veri modelinde tanımlanan bir elemanınız var, bu elemana ekranda tasarım yaparken veriyi seçip dropdown şekline çevirip verinin elemanlarını kalem silgi defter yapıyorsunuz. Yeni malzemeler verisi kullanıcı tarafından bakıldığında ekranda açılır liste oluyor.

Kullanıcı bu listeden alt alta istediği kadar seçebiliyor. Hepsi Malzeme verisine bağlı ve çoklanan.

Bu malzemelerin kullanıcı ekranı açdığı anda alt alta seçilmiş şekilde gözükmesini istiyorum.
Ben iş öncesi script e kod yazdım

$Xml.SetValue('Malzemeler/Id', 2); bu şekilde yazınca tüm listedeki malzemeleri aynı yapıyor.

Merhaba Mesut, konu biraz geçmişte kalmış ama problem çözülmüş müydü?

Merhaba Bülent, konu çözülmedi. Başka işlere bakarken bunu yapmayı erteledim.

...