Hello,I have a datagrid view that will hold results from varying layers from a map service using querytask/query.When I get the results, I want to populate the datagridcolumns on the fly as well as adding the new data.The code I am using yields only empty data row without the feature set's values.Any suggestions?Thankschap
void queryTask_ExecuteCompleted(object sender, QueryEventArgs e)
{
dg.ItemsSource = null;
dg.Columns.Clear();
FeatureSet featureSet = e.FeatureSet;
List<string> fields = new List<string>();
// add columns
foreach (var item in featureSet.FieldAliases)
{
fields.Add(item.Value);
dg.Columns.Add(new DataGridTextColumn()
{
Header = item.Value,
Binding = new Binding(item.Value)
});
}
dg.ItemsSource = GenerateData(fields, featureSet);
}
public IEnumerable<IDictionary> GenerateData(List<string> fields, FeatureSet fs)
{
for (var i = 0; i < fs.Features.Count; i++)
{
var dict = new Dictionary<string, object>();
foreach (var field in fields)
{
dict[field] = (fs.Features.Attributes[field]);
}
yield return dict;
}
}