lista string i binding do data grid

1

Cześć,

chciałbym do datagrid przypisać listę wartości string. Problem jest w tym, że raz otrzymuję tylko długość wartości string (ponieważ string posiada tylko jedno public property długość), a innym razem datagrid bez żadnych wartości.

W jaki sposób mogę te wartości przypisać do datagrid? Mam List<List<string>>, gdzie wewnętrzna lista to wartości dla danego wiersza, a zewnętrzna lista to wszystkie wiersze.

Plik xaml zawiera:

<DataGrid Grid.Row="0" Grid.Column="0" Margin="5" Name="dgrComparison" ItemsSource="{Binding}">
                
</DataGrid>

Plik xaml.cs zawiera:

        /*
        /// <summary>We use this class because binding list of strings
        /// to data grid gives string length instead of string value.</summary>
        public class StringValue
        {
            // http://stackoverflow.com/questions/479329/how-to-bind-a-string-list-to-a-datagrid
            public StringValue(string s)
            {
                _value = s;
            }
            public string Value { get { return _value; } set { _value = value; } }
            string _value;
        }
        */

        public List<List<string>> summaryRows;

	public Visualization()
	{
		InitializeComponent();

		// Create new list with values used in summary
		summaryRows = new List<List<string>>();
		#region Fill summaryRows with test data
		// Test data
		List<string> testRow = new List<string>();
		testRow.Add("first");
		testRow.Add("second");
		summaryRows.Add(testRow);
		List<string> testRow2 = new List<string>();
		testRow2.Add("third");
		testRow2.Add("fourth");
		summaryRows.Add(testRow2);
		#endregion Fill summaryRows with test data
		dgrComparison.DataContext = summaryRows;
		dgrComparison.ItemsSource = summaryRows.ToList().Select(x => new { x }); ;
	}

Czego nie uwzględniłem w tym kodzie, żeby móc przypisać wartości string z List<List<string>> summaryRows do data grid dgrComparison?

Pozdrawiam!

0

Cześć,
może macie jakieś sugestie, co mogę jeszcze sprawdzić, aby wykonać binding List<List<string>> do datagrid?

0

To tylko moja opinia mogę się mylić ale nie wpakujesz tego do DataGrida w ten sposób DataGrid przyjmie to zawsze jako listę i wyświetli to jeden pod drugim. Według mnie jedynym wyjściem jest ustalenia RowTemplate i dania tam jakiegoś ListView który przyjmie Twoją listę wewnętrzną.

1 użytkowników online, w tym zalogowanych: 0, gości: 1