Closed3

C# WPF

みなみんみなみん

ListView

  • データの一覧を表示する
  • 1行に複数列のデータを表示する

データの表示(1列)

<ListView x:Name="LV_Groups" d:ItemsSource="{d:SampleData ItemCount=5}" Margin="0,65,0,0" Grid.RowSpan="2" MouseDoubleClick="EditElementSelected">
            <ListView.View>
                <GridView>
                    <GridViewColumn/>
                </GridView>
            </ListView.View>
        </ListView>
  • データの表示(C#)
var datas = new List<DATA>();//ここに表示させたいデータをぶち込んでおく。
var list = new ObservableCollection<DATA>();
foreach(var i in datas)
{
     list.Add(i);
}
this.LV_Groups.ItemSource = list;

複数列のデータを表示

{Binding [メンバ変数]}
<ListView x:Name="LV_Datas" Grid.Row="1" MouseDoubleClick="EditElementSelected">
            <ListView.View>
                <GridView>
                    <GridViewColumn Width="50" Header="ID" DisplayMemberBinding="{Binding ID}"/>
                    <GridViewColumn Width="100" Header="Date" DisplayMemberBinding="{Binding Date}"/>
                    <GridViewColumn Width="50" Header="Group" DisplayMemberBinding="{Binding Group}"/>
                    <GridViewColumn Width="50" Header="Title" DisplayMemberBinding="{Binding Title}"/>
                    <GridViewColumn Width="50" Header="Paid" DisplayMemberBinding="{Binding Paid}"/>
                    <GridViewColumn Width="50" Header="Income" DisplayMemberBinding="{Binding Income}"/>
                </GridView>
            </ListView.View>
        </ListView>
  • データを表示させる(C#)
public partial class ACCOUNTDATASHOWS
    {
        public int ID { get; set; }
        public DateTime? Date { get; set; }
        public GROUP Group { get; set; }
        public string Title { get; set; }
        public int Paid { get; set; }
        public int Income { get; set; }
        public ACCOUNTDATA Owner = null;

        public ACCOUNTDATASHOWS(ACCOUNTDATA data)
        {
            this.ID = data.Id;
            this.Date = data.Date;
            this.Group = data.Group;
            this.Title = data.Title;
            this.Paid = data.Paid;
            this.Income = data.Income;
            this.Owner = data;
        }
    }

var datas = new List<DATA>();//ここに表示させたいデータをぶち込んでおく。
var list = new ObservableCollection<DATASHOWS>();
foreach(var data in datas)
{
     list.Add(new DATASHOWS(data));
}
LV_Datas.ItemsSource = list;
みなみんみなみん

ListViewのイベント

  • アイテムが選択されたり、選択内容が変更された際のイベント
<ListView x:Name="LV_Datas" SelectionChanged="ElementSelected"/>
private void ElementSelected(object sender, SelectionChangedEventArgs e)
{
     Console.WriteLine(LV_Datas.SelectedItem.ToString());//選択されたオブジェクト
}
このスクラップは2022/09/18にクローズされました