Использование C# .NET4.5, MS Visual Studio 2012, WPF.wpf datagrid Ienumerable return null
Привет, ребята, здесь есть код, который дает мне нуль. Этот код был предыдущим решением, которое я пробовал. Я не получил никаких ошибок, но никогда не тестировал их с сегодняшнего дня, когда обнаружил, что я отлаживал там строки, которые были пустыми.
Heres код:
первый я бросаю мои данные я собирал из SQL к DataTable и бросил его в мой DataGrid ...
private void LoadPareto(string pg)
{
DataTable tbl = new DataTable();
tbl = mysqlq.SQL_GetPareto(pg);
paretogrid.ItemsSource = tbl.AsDataView();
// InsertColumns();
ShowArrows();
}
2-й набор до привязки в XAML ...
<DataGrid Name ="paretogrid" ItemsSource="{Binding}"
третий я создал IEnumerable ...
public IEnumerable<System.Windows.Controls.DataGridRow> GetDataGridRow(System.Windows.Controls.DataGrid grid)
{
var itemsource = grid.ItemsSource as System.Collections.IEnumerable;
if (null == itemsource) yield return null;
foreach (var item in itemsource)
{
var row = grid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow; // null?
if (null != row) yield return row;
}
}
Тогда я называю это в этом методе ...
private void ShowArrows()
{
var rows = GetDataGridRow(paretogrid); // fetching null?
foreach (DataGridRow r in rows)
{
DataRowView rv = (DataRowView)r.Item;
foreach (DataGridColumn column in paretogrid.Columns)
{
if (column.GetCellContent(r) is TextBlock)
{
TextBlock cellcontent = column.GetCellContent(r) as TextBlock;
MessageBox.Show(cellcontent.Text);
}
}
}
}
Теперь проблема у меня есть в Ienumerbale я вижу мой исходный пункт содержит 12007 записей, который является совершенным. Тем не менее, когда я пошагово я нахожу ...
var row = grid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;
возвращает нуль, который мой «если» заявление найти его как ложное, так скачет выход. Так что, конечно, когда я иду, чтобы пройти через цикл foreach в методе «showarrows». Это не беспокоит, так как есть нуль.
Итак, где я иду не так? я что-то упускаю?
Заранее спасибо, парни, девочки!
не имеет никакого отношения к тому, что мой стол настроен на «asdataview»? – lemunk
Вы устанавливаете 'ItemsSource' как в коде, так и в xaml. Не могли бы вы попытаться удалить обязательную часть? – Joulukuusi
ahhhh Я вижу, да, я принял часть ответа за ответ и часть ответа XMAL. Я попытаюсь вытащить XAML, посмотрим, что произойдет – lemunk