<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: result datagrid for dynamic headers/columns -- spatial query in ArcGIS API for Silverlight Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717212#M18439</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can create a small class (object) which will hold your result values.&amp;nbsp; You can fill the class at run-time from the IEnumerable&amp;lt;T&amp;gt; set the query returns.&amp;nbsp; Then, bind the object, directly to the datagrid using ItemsSource property.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public class MyClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; public string Name {get; set;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; public DataTime DOB {get; set;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Create a strong typed collection of the class&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;List&amp;lt;MyClass&amp;gt; myList = new List&amp;lt;MyClass&amp;gt;();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now, iterate through the IEnumerable&amp;lt;T&amp;gt; collection you get from the query.&amp;nbsp; Each row can be an instance of "Myclass".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;foreach (IEnumerable&amp;lt;Graphic&amp;gt; graphic in your-querry-result)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; MyClass myObject = new MyClass();&amp;nbsp; // one instance for each row&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; myObject.Name = graphic.Attributes["Name"];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; myObject.DOB = graphic.Attributes["DOB"];&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; /* Add filled class instance (a row) to collection&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; myList.Add(myObject);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Bind your strong-type collection to the datagrid&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;myDatagrid.ItemsSource = myList;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In light of simplicity I hard-coded the column names.&amp;nbsp; You do not have to, really.&amp;nbsp; You can use Reflection to match the column name and data type to that of the class "MyClass".&amp;nbsp; In this scenario, you will need another foreach inner loop to iterate through every column of each row:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;foreach (object attribute in graphic.Attributes)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* now use Reflection to expose every property of "attribute" */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If this is your case, I can be more specific about Reflection, if needed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hugo.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Aug 2011 11:59:01 GMT</pubDate>
    <dc:creator>HugoCardenas</dc:creator>
    <dc:date>2011-08-10T11:59:01Z</dc:date>
    <item>
      <title>result datagrid for dynamic headers/columns -- spatial query</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717208#M18435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been following this tutorial for several days now &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#SpatialQuery"&gt;http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#SpatialQuery&lt;/A&gt;&lt;SPAN&gt;, trying to check if it fits well for my application. I'm getting query results back and all that, but I'm having trouble populating it on the datagrid the way I need&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As you can see on the xaml, the datagrid's headers have been hardcoded as such&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;slData: DataGrid.Columns&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;slData: DataGridTextColumn CanUserSort="True" SortMemberPath="STATE_NAME" Binding="{Binding Attributes[STATE_NAME]}" Header="State Name"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;slData: DataGridTextColumn CanUserSort="False" Binding="{Binding Attributes[SUB_REGION]}" Header="Region"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;slData: DataGridTextColumn CanUserSort="False" Binding="{Binding Attributes[STATE_FIPS]}" Header="FIPS"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;slData: DataGridTextColumn CanUserSort="False" Binding="{Binding Attributes[STATE_ABBR]}" Header="Abbreviation"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;slData: DataGridTextColumn CanUserSort="False" Binding="{Binding Attributes[POP2000]}" Header="Population 2000"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;slData: DataGridTextColumn CanUserSort="True"&amp;nbsp; SortMemberPath="POP2007" Binding="{Binding Attributes[POP2007]}" Header="Population 2007"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/slData: DataGrid.Columns&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For what I'm about to do, however, I don't know what the headers/ number of columns will be. In such cases, how can I populate the header, and then the contents? I know this is more of a SL question, but I thought maybe you guys could think of a solution quicker, assuming you understand the pain of dealing with IValueConverter..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Apr 2011 17:24:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717208#M18435</guid>
      <dc:creator>SangamLama</dc:creator>
      <dc:date>2011-04-05T17:24:51Z</dc:date>
    </item>
    <item>
      <title>Re: result datagrid for dynamic headers/columns -- spatial query</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717209#M18436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The data grid will auto create the columns based on the data you bind to to it if you don't specify them (the feature data grid works the same way).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Apr 2011 18:38:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717209#M18436</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2011-04-05T18:38:25Z</dc:date>
    </item>
    <item>
      <title>Re: result datagrid for dynamic headers/columns -- spatial query</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717210#M18437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;The data grid will auto create the columns based on the data you bind to to it if you don't specify them (the feature data grid works the same way).&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;that was my first guess. but here's what's different between what I want to do vs what autogeneratecolumns does:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If autogenerated, the datagrid will look something like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Name Jon Doe&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DOB 12/12/2012&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Name Jane Doe&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DOB 11/11/2011&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;but I want it to be like&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DOB &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jon Doe&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/12/2012&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jane Doe&amp;nbsp;&amp;nbsp; 11/11/2011&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;something similar to the tutorial..in other words, the header should be on the columns, not rows&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Apr 2011 18:48:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717210#M18437</guid>
      <dc:creator>SangamLama</dc:creator>
      <dc:date>2011-04-05T18:48:44Z</dc:date>
    </item>
    <item>
      <title>Re: result datagrid for dynamic headers/columns -- spatial query</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717211#M18438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;that was my first guess. but here's what's different between what I want to do vs what autogeneratecolumns does:&lt;BR /&gt;&lt;BR /&gt;If autogenerated, the datagrid will look something like this:&lt;BR /&gt;Name Jon Doe&lt;BR /&gt;DOB 12/12/2012&lt;BR /&gt;Name Jane Doe&lt;BR /&gt;DOB 11/11/2011&lt;BR /&gt;&lt;BR /&gt;but I want it to be like&lt;BR /&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DOB &lt;BR /&gt;Jon Doe&amp;nbsp;&amp;nbsp;&amp;nbsp; 12/12/2012&lt;BR /&gt;Jane Doe&amp;nbsp;&amp;nbsp; 11/11/2011&lt;BR /&gt;&lt;BR /&gt;something similar to the tutorial..in other words, the header should be on the columns, not rows&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Did U find a solution to this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks &amp;amp; Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Naresh&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Aug 2011 11:02:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717211#M18438</guid>
      <dc:creator>NareshPuripanda</dc:creator>
      <dc:date>2011-08-09T11:02:51Z</dc:date>
    </item>
    <item>
      <title>Re: result datagrid for dynamic headers/columns -- spatial query</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717212#M18439</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can create a small class (object) which will hold your result values.&amp;nbsp; You can fill the class at run-time from the IEnumerable&amp;lt;T&amp;gt; set the query returns.&amp;nbsp; Then, bind the object, directly to the datagrid using ItemsSource property.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public class MyClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; public string Name {get; set;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; public DataTime DOB {get; set;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Create a strong typed collection of the class&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;List&amp;lt;MyClass&amp;gt; myList = new List&amp;lt;MyClass&amp;gt;();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now, iterate through the IEnumerable&amp;lt;T&amp;gt; collection you get from the query.&amp;nbsp; Each row can be an instance of "Myclass".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;foreach (IEnumerable&amp;lt;Graphic&amp;gt; graphic in your-querry-result)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; MyClass myObject = new MyClass();&amp;nbsp; // one instance for each row&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; myObject.Name = graphic.Attributes["Name"];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; myObject.DOB = graphic.Attributes["DOB"];&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; /* Add filled class instance (a row) to collection&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; myList.Add(myObject);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Bind your strong-type collection to the datagrid&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;myDatagrid.ItemsSource = myList;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In light of simplicity I hard-coded the column names.&amp;nbsp; You do not have to, really.&amp;nbsp; You can use Reflection to match the column name and data type to that of the class "MyClass".&amp;nbsp; In this scenario, you will need another foreach inner loop to iterate through every column of each row:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;foreach (object attribute in graphic.Attributes)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* now use Reflection to expose every property of "attribute" */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If this is your case, I can be more specific about Reflection, if needed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hugo.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Aug 2011 11:59:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/result-datagrid-for-dynamic-headers-columns/m-p/717212#M18439</guid>
      <dc:creator>HugoCardenas</dc:creator>
      <dc:date>2011-08-10T11:59:01Z</dc:date>
    </item>
  </channel>
</rss>

