Silverlight Binding DataGrid with two dimensional array
Views (9)
Set DataGrid AutoGenerateColumns="False"
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
BindDataGrid(GetTwoDimensinalArray());
}
string[,] GetTwoDimensinalArray()
{
//Generating two dimensional array
string[,] returnValue = new string[5, 5];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
returnValue[i,j] = "cell [" + i.ToString() + "," + j.ToString() + "]";
}
}
return returnValue;
}
void BindDataGrid(string[,] _array)
{
ObservableCollection<ObservableCollection<string>> dataSource = new ObservableCollection<ObservableCollection<string>>();
//converting two dimensional array into ObservableCollection
for (int i = 0; i < 5; i++)
{
ObservableCollection<string> row = new ObservableCollection<string>();
for (int j = 0; j < 5; j++)
{
row.Add(_array[i, j]);
}
dataSource.Add(row);
}
for (int i = 0; i < 5; i++)
{
//Creating Datagrid columns and binding them to their apropriate columns
DataGridTextColumn dataColumn = new DataGridTextColumn();
dataColumn.Header = "Column "+i.ToString();
dataColumn.Binding = new Binding("[" + i.ToString() + "]");
dataGridSample.Columns.Add(dataColumn);
}
//Binding DataGrid with collection
dataGridSample.ItemsSource = dataSource;
}
}
This was originally posted here.

Like
Report
*This post is locked for comments