Как использовать многостолбцовое представление в C # WPF [duplicate]

НЕ mySQL, но для других людей, которые находят этот вопрос и используют SQL, другой способ разрешить проблему использует Cross Apply в MS SQL

WITH DocIds AS (SELECT DISTINCT id FROM docs)

SELECT d2.id, d2.rev, d2.content
FROM DocIds d1
CROSS APPLY (
  SELECT Top 1 * FROM docs d
  WHERE d.id = d1.id
  ORDER BY rev DESC
) d2

Вот пример в SqlFiddle

29
задан davidwroxy 4 July 2015 в 11:32
поделиться

1 ответ

Решение с меньшим количеством XAML и более C #

Если вы определяете ListView в XAML:

<ListView x:Name="listView"/>

Затем вы можете добавлять столбцы и заполнять их в C #:

public Window()
{
    // Initialize
    this.InitializeComponent();

    // Add columns
    var gridView = new GridView();
    this.listView.View = gridView;
    gridView.Columns.Add(new GridViewColumn { 
        Header = "Id", DisplayMemberBinding = new Binding("Id") });
    gridView.Columns.Add(new GridViewColumn { 
        Header = "Name", DisplayMemberBinding = new Binding("Name") });

    // Populate list
    this.listView.Items.Add(new MyItem { Id = 1, Name = "David" });
}

См. определение MyItem ниже.

Решение с большим количеством XAML и менее C #

Однако его легче определить столбцы в XAML (внутри определения ListView):

<ListView x:Name="listView">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Id" DisplayMemberBinding="{Binding Id}"/>
            <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
        </GridView>
    </ListView.View>
</ListView>

А затем просто заполните список в C #:

public Window()
{
    // Initialize
    this.InitializeComponent();

    // Populate list
    this.listView.Items.Add(new MyItem { Id = 1, Name = "David" });
}

См. определение MyItem ]

MyItem Определение

MyItem определяется следующим образом:

public class MyItem
{
    public int Id { get; set; }

    public string Name { get; set; }
}
77
ответ дан davidwroxy 5 September 2018 в 09:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: