Çoklu listelerde Import özelliği kullanılırken veriler için verifikasyon işlemi yapma gereksinimine örnek olarak aşağıdaki adımlar izlenebilir. 

Burada silme işlemini örnek olarak kullanacağız ancak güncelleme veya farklı aksiyonlar da kullnılabilir. 

Örnek Liste Form Xml 

Form Verisi
<List>   
 	<Numune>
      <Template>
        <Kod />
        <FisNo />
        <Uygun display="" />
      </Template>
      <Data editingRow="{00000000-0000-0000-0000-000000000000}">
        <Template guid="4e8a9b74-0b65-40e9-8fe3-e24f15b1ead1">
          <Kod>234jkh</Kod>
          <FisNo>at</FisNo>
          <Uygun display="" />
        </Template>
        <Template guid="a04b77dd-3df9-4ca7-82b3-a3c61e48e33e">
          <Kod>234jkh</Kod>
          <FisNo>100</FisNo>
          <Uygun display="" />
        </Template>
      </Data>
    </Numune>
</List>   

 

ForEach ile tüm xml yolu üzerinde dönerek ilgili bölümün Id değerini @guid ile alıyoruz ve bu değeri $(AktifInstanceId) değerinde tutuyoruz. xml yolları içerisinde diğer alanları alarak Regex ile kontrole sokarak istediğimiz format olup olmadığını bulduğumuz da If koşulu ile Perform içerisinde Delete yol silem metodu ile silme işlemini yapıyoruz. 

Örnek
  <ForEach Node="/*/List/Numune/Data/Template">
    <SetVariable Name="$(AktifInstanceId)">
      <Value Culture="" Target="None">eval::@guid</Value>
    </SetVariable>
    <SetVariable Name="$(PFisNo)">
      <Value Culture="" Target="None">eval::./FisNo</Value>
    </SetVariable>
    <SetVariable Name="$(Pattern)">
      <Value Culture="" Target="None" IsCDATA="True"><![CDATA[^[0-9]+$]]></Value>
    </SetVariable>
    <SetVariable Name="$(Sonuc)">
      <Regex Input="FisNo" Pattern="$(Pattern)" Replace="False" MatchVariable="Match">
        <Value Culture="" Target="None">eval::./FisNo</Value>
      </Regex>
    </SetVariable>
    <SetVariable Name="$(Sonuc)">
      <Value Culture="" Target="Bool">true</Value>
    </SetVariable>
    <Regex Input="eval::./FisNo" Pattern="^[0-9]+$" Replace="False" MatchVariable="Match">
      <SetVariable Name="$(Sonuc)">
        <Value Culture="" Target="Bool">false</Value>
      </SetVariable>
    </Regex>
    <If>
      <Then>
        <Condition>
          <Value Culture="" Target="Bool">$(Sonuc)</Value>
        </Condition>
        <Perform>
          <Delete Node="/*/List/Numune/Data/Template[@guid='$(AktifInstanceId)']" />
        </Perform>
      </Then>
    </If>
  </ForEach>

 

İlgili script form scripti içerisinde barındığında form her yenilendiğinde çalışacaktır. 

Ayrıca Bakınız

Regex

SetVariable

Value

ForEach

  • No labels