WPF ListView GridViewColumn Binding. Some (not all) values are not displaying in ListView. What am I doing wrong?

77 Views Asked by At

I am new to WPF and I am trying to populate a ListView, but only some values are displaying in my window.

<ListView Name="LvwItems" Width="1185" HorizontalAlignment="Left" Height="200" VerticalAlignment="Top" Margin="10,33,0,0" SelectionChanged="LvwItems_SelectionChanged">
        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="HorizontalContentAlignment" Value="Stretch" />
            </Style>
        </ListView.ItemContainerStyle>
        <ListView.Resources>
            <Style TargetType="{x:Type ScrollBar}"
               BasedOn="{StaticResource {x:Type ScrollBar}}">
                <Style.Triggers>
                    <Trigger Property="Name" Value="PART_VerticalScrollBar">
                        <Setter Property="Margin" Value="0,18,0,0"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
            <Style TargetType="GridViewColumnHeader">
                <EventSetter Event="Click" Handler="LvwItemsToReverse_GridViewColumnHeader_Click"/>
            </Style>
        </ListView.Resources>
        <ListView.View>
            <GridView AllowsColumnReorder="true" ColumnHeaderToolTip="Employee Information">
                <GridViewColumn Header=" " Width="30">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox IsChecked="{Binding IsSelected}"/>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn DisplayMemberBinding="{Binding Path=ItemNumber}" Header="Item #" Width="80"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=TransactionCode}" Header="Trans" Width="80"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=SequenceNumber}" Header="Seq #" Width="80"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=TaxItemNumber}" Header="Taxable Item #" Width="120"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=FormattedAccountingMonth}" Header="Accounting Month" Width="120"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=DescriptionOf}" Header="Description" Width="250"/>
                <GridViewColumn DisplayMemberBinding="{Binding Path=ItemAmount}" Header="Amount" Width="120"/>
            </GridView>
        </ListView.View>
    </ListView>

My code to populate the ListView:

private void AddTransactionToListView(List<TransactionItem> loTransactionItems)
    {
        foreach (TransactionItem oItem in loTransactionItems)
        {
            LvwItems.Items.Add(new ItemsToReverse
            {
                ItemNumber = oItem.ItemNumber,
                TransactionCode = oItem.TransactionCode,
                SequenceNumber = oItem.SequenceNumber,
                TaxItemNumber = oItem.TaxItemNumber,
                FormattedAccountingMonth = oItem.FormattedAccountingMonth,
                DescriptionOf = oItem.DescriptionOf,
                ItemAmount = oItem.ItemAmount
            });
        }
    }

TransactionCode and TaxItemNumber do not display and I cannot figure out why. What am I doing wrong (possibly everything)?

1

There are 1 best solutions below

0
Sol_Kralj On

The problem wasn't with my code, but with my Data Model for the Web Service my information from.