<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search text in cdt</title><link>https://community.appian.com/discussions/f/user-interface/12934/search-text-in-cdt</link><description>Hi, 
 I have a cdt which is having more than 100 rows with 12 columns. I want to create one validation on submit button where i want to check duplicacy of each column value respective to all column values. 
 Like Column 
 A B C D E F G H I J K 
 Row1</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Search text in cdt</title><link>https://community.appian.com/thread/59243?ContentTypeID=1</link><pubDate>Thu, 16 Aug 2018 07:49:07 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:59a6d54f-c0d2-4a5b-9156-5edfc2220a6f</guid><dc:creator>sauravk</dc:creator><description>Is it possible to modify this code to validate one more condition. Like if we want to validate data in pairs. &lt;br /&gt;
Suppose i want to validate only two columns (A &amp;amp; B) , combination of these two columns only should be unique.&lt;br /&gt;
If yes than please suggest me.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Search text in cdt</title><link>https://community.appian.com/thread/58837?ContentTypeID=1</link><pubDate>Tue, 07 Aug 2018 12:31:33 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:cfb3930c-5d8f-46be-bef0-bf91c831c8bf</guid><dc:creator>sauravk</dc:creator><description>Hi,&lt;br /&gt;
&lt;br /&gt;
 This is related to above code only.&lt;br /&gt;
&lt;br /&gt;
I want to save one variable which i created in with and values of that variable are getting update on basis of drop down.&lt;br /&gt;
&lt;br /&gt;
I am using that variable(dataset) further to do above validation only. But when i am trying to save any value in that dataset.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am getting error&lt;br /&gt;
&lt;br /&gt;
Expression evaluation error in rule &amp;#39;rule_Test&amp;#39; (called by rules &amp;#39;rule_test1&amp;#39; &amp;gt; &amp;#39;rule_test2&amp;#39;) at function a!applyComponents [line 176]: An error occurred while executing a save: Expression evaluation error: The save target must be a load() variable, process variable, or node input (or a rule input passed one of those three), but instead was:&lt;br /&gt;
&lt;br /&gt;
What is the workaround to save the values of with variable instead to use load one as error says.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Search text in cdt</title><link>https://community.appian.com/thread/58187?ContentTypeID=1</link><pubDate>Fri, 20 Jul 2018 13:29:56 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:16d302cc-ffb2-4be3-a167-a4c035568960</guid><dc:creator>PhilB</dc:creator><description>No problem, glad I could help! :)&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Search text in cdt</title><link>https://community.appian.com/thread/58169?ContentTypeID=1</link><pubDate>Fri, 20 Jul 2018 07:14:56 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:9f1b88a8-1bd9-4acf-addf-2313cb72599d</guid><dc:creator>sauravk</dc:creator><description>Thanks for your inputs. Really helped to kick off this work. Your approach is correct. I will try to go by that only.&lt;br /&gt;
Will keep you posted if i need more inputs.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Search text in cdt</title><link>https://community.appian.com/thread/58139?ContentTypeID=1</link><pubDate>Thu, 19 Jul 2018 13:01:28 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:13d97e94-20b5-471e-a023-3c888bc87950</guid><dc:creator>PhilB</dc:creator><description>No problem - code updated.&lt;br /&gt;
&lt;br /&gt;
Your requirement to only validate when the button is pressed is possible - just use an a!validationMessage() on the grid with a validateAfter: &amp;quot;SUBMIT&amp;quot;. However, if you were to do that, and remove the individual field validation, you&amp;#39;ll end up with an extremely poor user experience as there won&amp;#39;t be any highlighting of fields to show which values in the grid are duplicated - hence I&amp;#39;d recommend you follow the example given.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Search text in cdt</title><link>https://community.appian.com/thread/58138?ContentTypeID=1</link><pubDate>Thu, 19 Jul 2018 12:37:59 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1e2eaee7-f300-4b36-8057-e63b52a8cf83</guid><dc:creator>sauravk</dc:creator><description>Thanks for your inputs.&lt;br /&gt;
&lt;br /&gt;
But this solution is  in my knowledge.&lt;br /&gt;
&lt;br /&gt;
Requirement is bit different ,  here searching need to perform on all values irrespective of any column, in your code it is searching at column level plus i want this to perform on submit button not at the row level .&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Search text in cdt</title><link>https://community.appian.com/thread/58136?ContentTypeID=1</link><pubDate>Thu, 19 Jul 2018 11:20:38 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:40d5e379-ffdb-435d-b28b-367e7152cb26</guid><dc:creator>PhilB</dc:creator><description>&lt;p&gt;Here you go - pretty sure this does what you want - paste it into the interface designer and see what you think.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;load(
  local!data: a!forEach(
    items: enumerate(
      5
    ) + 1,
    expression: {
      &amp;quot;A&amp;quot;: 1 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;B&amp;quot;: 2 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;C&amp;quot;: 3 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;D&amp;quot;: 4 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;E&amp;quot;: 5 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;F&amp;quot;: 6 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;G&amp;quot;: 7 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;H&amp;quot;: 8 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;I&amp;quot;: 9 + (
        (
          fv!item - 1
        ) * 10
      ),
      &amp;quot;J&amp;quot;: 10 + (
        (
          fv!item - 1
        ) * 10
      )
    }
  ),
  a!formLayout(
    label: &amp;quot;Validate search text&amp;quot;,
    contents: {
      a!paragraphField(
        labal: &amp;quot;local!data&amp;quot;,
        value: local!data
      ),
      a!gridLayout(
        label: &amp;quot;HALP&amp;quot;,
        headerCells: {
          a!gridLayoutHeaderCell(
            label: &amp;quot;A&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;B&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;C&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;D&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;E&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;F&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;G&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;H&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;I&amp;quot;
          ),
          a!gridLayoutHeaderCell(
            label: &amp;quot;J&amp;quot;
          )
        },
        columnConfigs: {
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          ),
          a!gridLayoutColumnConfig(
            weight: 5
          )
        },
        rows: a!forEach(
          items: local!data,
          expression: a!gridRowLayout(
            contents: {
              a!textField(
                value: fv!item.A,
                saveInto: fv!item.A,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        remove(
                          local!data.A,
                          fv!index
                        ),
                        local!data.B,
                        local!data.C,
                        local!data.D,
                        local!data.E,
                        local!data.F,
                        local!data.G,
                        local!data.H,
                        local!data.I,
                        local!data.J
                        }
                      )
                    ),
                    tostring(
                      fv!item.A
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.B,
                saveInto: fv!item.B,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        remove(
                          local!data.B,
                          fv!index
                        ),
                        local!data.C,
                        local!data.D,
                        local!data.E,
                        local!data.F,
                        local!data.G,
                        local!data.H,
                        local!data.I,
                        local!data.J
                        }
                      )
                    ),
                    tostring(
                      fv!item.B
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.C,
                saveInto: fv!item.C,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        local!data.B,
                        remove(
                          local!data.C,
                          fv!index
                        ),
                        local!data.D,
                        local!data.E,
                        local!data.F,
                        local!data.G,
                        local!data.H,
                        local!data.I,
                        local!data.J
                        }
                      )
                    ),
                    tostring(
                      fv!item.C
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.D,
                saveInto: fv!item.D,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        local!data.B,
                        local!data.C,
                        remove(
                          local!data.D,
                          fv!index
                        ),
                        local!data.E,
                        local!data.F,
                        local!data.G,
                        local!data.H,
                        local!data.I,
                        local!data.J
                        }
                      )
                    ),
                    tostring(
                      fv!item.D
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.E,
                saveInto: fv!item.E,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        local!data.B,
                        local!data.C,
                        local!data.D,
                        remove(
                          local!data.E,
                          fv!index
                        ),
                        local!data.F,
                        local!data.G,
                        local!data.H,
                        local!data.I,
                        local!data.J
                        }
                      )
                      
                    ),
                    tostring(
                      fv!item.E
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.F,
                saveInto: fv!item.F,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        local!data.B,
                        local!data.C,
                        local!data.D,
                        local!data.E,
                        remove(
                          local!data.F,
                          fv!index
                        ),
                        local!data.G,
                        local!data.H,
                        local!data.I,
                        local!data.J
                        }
                      )
                      
                    ),
                    tostring(
                      fv!item.F
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.G,
                saveInto: fv!item.G,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        local!data.B,
                        local!data.C,
                        local!data.D,
                        local!data.E,
                        local!data.F,
                        remove(
                          local!data.G,
                          fv!index
                        ),
                        local!data.H,
                        local!data.I,
                        local!data.J
                        }
                      )
                      
                    ),
                    tostring(
                      fv!item.G
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.H,
                saveInto: fv!item.H,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        local!data.B,
                        local!data.C,
                        local!data.D,
                        local!data.E,
                        local!data.F,
                        local!data.G,
                        remove(
                          local!data.H,
                          fv!index
                        ),
                        local!data.I,
                        local!data.J
                        }
                      )
                      
                    ),
                    tostring(
                      fv!item.H
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.I,
                saveInto: fv!item.I,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        local!data.B,
                        local!data.C,
                        local!data.D,
                        local!data.E,
                        local!data.F,
                        local!data.G,
                        local!data.H,
                        remove(
                          local!data.I,
                          fv!index
                        ),
                        local!data.J
                        }
                      )
                      
                    ),
                    tostring(
                      fv!item.I
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              ),
              a!textField(
                value: fv!item.J,
                saveInto: fv!item.J,
                required: true,
                validationGroup: &amp;quot;runValidation&amp;quot;,
                validations: if(
                  contains(
                    touniformstring(
                      a!flatten(
                        {
                        local!data.A,
                        local!data.B,
                        local!data.C,
                        local!data.D,
                        local!data.E,
                        local!data.F,
                        local!data.G,
                        local!data.H,
                        local!data.I,
                        remove(
                          local!data.J,
                          fv!index
                        )
                        }
                      )
                      
                    ),
                    tostring(
                      fv!item.J
                    )
                  ),
                  &amp;quot;This value already exists in the data&amp;quot;,
                  &amp;quot;&amp;quot;
                )
              )
            }
          )
        ),
        addRowLink: a!dynamicLink(
          label: &amp;quot;Add row&amp;quot;,
          value: {
            &amp;quot;A&amp;quot;: null,
            &amp;quot;B&amp;quot;: null,
            &amp;quot;C&amp;quot;: null,
            &amp;quot;D&amp;quot;: null,
            &amp;quot;E&amp;quot;: null,
            &amp;quot;F&amp;quot;: null,
            &amp;quot;G&amp;quot;: null,
            &amp;quot;H&amp;quot;: null,
            &amp;quot;I&amp;quot;: null,
            &amp;quot;J&amp;quot;: null
          },
          saveInto: a!save(
            target: local!data,
            value: append(
              local!data,
              save!value
            )
          )
        )
      )
    },
    buttons: a!buttonLayout(
      primaryButtons: {
        a!buttonWidgetSubmit(
          label: &amp;quot;Save&amp;quot;,
          validationGroup: &amp;quot;runValidation&amp;quot;
        )
      }
    )
  )
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>