Nedir?
GetShemaData Task'i ile okunan dizinin/tablonun hafızadan okunması için kullanılır.
Sentaks
<BrowseTable Name="$(TabloDegisken)" SortExpression="" Into="" TemplatePath=""> <Columns /> <Perform> <SetVariable Name="$(ColumName)"> <Value Culture="" Target="Bool">true</Value> </SetVariable> </Perform> </BrowseTable>
Özellikler
Adı | Açıklama | |
---|---|---|
Name | Okunacak değişkenin adını belirlenmesini sağlar. Değişken tanımı $(DegiskenAdi) şeklinde GetSchemaData'da tanımlı değişken adı olmalıdır | |
SortExpression | ||
Into | Response olarak dönen objenin yazılacağı node adresidir | |
TemplatePath | Şablon olarak kullanılacak node adresidir | |
Columns | Kolon verilerinin değişkenler ve node alanları ile eşleştirmelerinin tanımları yer alır | |
Perform | Verilerin okunma işleminde gerçekleştirilecek alt işlemlerin tanımları yer alır |
Örnekler
Aşağıdaki örnekte mevcut kriterlere göre veri bulunup bulunulamadığı kontrol edilmektedir.
Bu örnekte "TableAlanAdlari" ismindeki değişken içerisine "AlanAdlari" ismindeki tablodan belirtilen kolanlara ait dataların getirilmesi sağlanmıştır.
Tablodaki verilerin filterelemek için farklı filtereleme seçenekleri kullanılmıştır, bunlar.
- "Durum" kolonu için text filtre değeri : "Tamam"
- "AlanAdı" ve "AlanUzantisi" kolonu için değişken filtre değeri : $(alanAdi) ve $(alanAdiUzanti) dir.
- Son olarak gönderilen Id 'den farklı bir Id 'li kayıt var mı diye filtre eklemek için Comparison="Different" ifadesi filtreye eklenmiştir.
- BrowseTable komutu ile bu sorgu sonucu kayıt gelip gelmediği sorgulanmış ve isExist değişkeni değer olarak dönmesi sağlanmıştır.
BrowseTable
<SetVariable Name="$(TableAlanAdlari)" > <GetSchemaData Name="AlanAdlari" RetrieveLookupDisplayValues="False" MaximumResultCount="0" VariablePrefix=""> <Columns> <Column Node="" Name="AlanAdi" /> <Column Node="" Name="AlanUzantisi" /> <Column Node="" Name="Durum" /> </Columns> <Filter> <Block> <Criteria Name="Durum"> <Value Culture="" Target="None">Tamam</Value> </Criteria> <Criteria Name="AlanAdi"> <Value Culture="" Target="None">$(alanAdi)</Value> </Criteria> <Criteria Name="AlanUzantisi"> <Value Culture="" Target="None">$(alanAdiUzanti)</Value> </Criteria> <Criteria Name="Id" Comparison="Different"> <Value Culture="" Target="None">$(alanAdiId)</Value> </Criteria> </Block> </Filter> <Order /> </GetSchemaData> </SetVariable> <SetVariable Name="$(isExist)"> <Value Culture="" Target="Bool">false</Value> </SetVariable> <BrowseTable Name="$(TableAlanAdlari)" SortExpression="" Into="" TemplatePath=""> <Columns /> <Perform> <SetVariable Name="$(isExist)"> <Value Culture="" Target="Bool">true</Value> </SetVariable> </Perform> </BrowseTable>
Form Verisi
<sampleData> <person> <id/> <name/> <middlename/> <surname/> <sex display=""/> <phones> <template> <id/> <type display=""/> <number/> </template> </phones> </person> </sampleData>
Bu örnekte tablodan okunan "Sex.Name" değeri xmlFormData üzerindeki "sex/@display" attibutüne set edilmiştir.
İç içe başka bir tablo okunmuş ve bu sefer Phone.Type.Name bilgisi "/person/phones/template/type/@display" node üzerine yazılması sağlanmıştır.
Script
<BrowseTable Name="PersonalTable" TemplatePath="/person"> <Columns> <Column Name="Sex.Name"/> </Columns> <Perform> <Set Node="sex/@display"><Value>$(Sex.Name)</Value></Set> <BrowseTable Name="PhoneTable" TemplatePath="/person/phones/template" Into="/person/phones/data"> <Columns> <Column Name="Type.Name"/> <Column Name="Type" Node="type" /> <Column Name="Number" Node="number" /> </Columns> <Perform> <Set Node="type/@display"> <Value>$(Type.Name)</Value> </Set> </Perform> </BrowseTable> </Perform> </BrowseTable>
Bakınız