DataGridVIew заполнен анонимным типом, как фильтровать?

Я заполнил DataGridView запросом LINQ, который возвращает анонимный тип.

Вопрос : есть ли шанс отфильтровать DataGridView, источник данных которого фактически анонимен?

// Setting the datagridview data source
rawDocumentsDataGridView.DataSource = rawTopics
    .SelectMany(t => t.Documents)
        .Select(d => new
            {
               DocumentId = d.Id,
               Rilevante = d.IsRelevant,
               TopicId = d.Topic.Id // foreign key
            }).ToList();

// Make it not visibile, waiting for master change
rawDocumentsDataGridView.Visible = false;

// When master selection changed...
void rawTopicsDataGridView_SelectionChanged(object sender, System.EventArgs e)
{
    if (rawTopicsDataGridView.CurrentRow == null) return;

    // Get selected topic id
    int tid = (int) rawTopicsDataGridView.CurrentRow.Cells["TopicId"].Value;

    // Filter rawDocumentsDataGridView based on topic id
    // WARNING: PSEUDO CODE
    var oldDataSource = (List<AnonymousType>)rawDocumentsDataGridView.DataSource;
    rawDocumentsDataGridView.DataSource = oldDataSource
       .Where(d => d.TopicId == tid);
}
6
задан gremo 1 December 2010 в 06:24
поделиться