Нет заполненных данных в RadDataGrid - PullRequest
0 голосов
/ 21 мая 2019

У меня есть приложение UWP, и я использую RadDataGrid для отображения некоторых данных.Когда я выполняю вызов API для своего API для установки данных в сетке, сетка данных показывает пустые строки.

Мой XAML

 <tg:RadDataGrid Grid.Row="2" UserGroupMode="Disabled" ColumnDataOperationsMode="Flyout"  x:Name="infoGrid" ItemsSource="{x:Bind  Path=ViewModel.history}"  AutoGenerateColumns="False" FontSize="24" VerticalContentAlignment="Top" Margin="0,0,0,50" VerticalAlignment="Top" MaxHeight="500">
            <tg:RadDataGrid.Columns>
                <tg:DataGridTextColumn PropertyName="UpdatedBy" Header="Verplaatst door"/>
                <tg:DataGridDateColumn PropertyName="UpdateDate" Header="Bijgewerkt op"  CellContentFormat=" {0:dd/MM/yyyy}" />
                <tg:DataGridTextColumn PropertyName="Location" Header="Verplaatst naar"/>
            </tg:RadDataGrid.Columns>
        </tg:RadDataGrid>

Мой код C # для установки данных

 public async void APICALL()
        {
            var result = await LotService.GetLotInfo(ViewModel.scanField);
            ViewModel.lot = result;
            ViewModel.history = result.LotHistory;
            infoGrid.ItemsSource = null;
            infoGrid.ItemsSource = ViewModel.history;
            IsBusy = false;
        }
    }

ViewModel.history представляет собой список класса LotHistoryInfo

РЕДАКТИРОВАТЬ: добавлены методы получения и установки, как предложено mm8

public class LotHistoryInfo
    {
       public LotInfo lot { get; set; }
        public string scanField { get; set; }
        public List<LotHistoryInfo> history { get; set; }

        public LotHistoryInfo(LotStoreHistory his)
        {
             Location = new Location(his.LshStoreid.ToString(), his.LshStorex, his.LshStorey, his.LshStorez);
                UpdatedBy = his.UpdatedBy;
                UpdateDate = his.Updated;

        }
        public LotHistoryInfo()
        {

        }
    }

Моя сетка данных подтверждает, что в ней должно быть 3 элемента,но это не заполняет их. Empty grid

Ооо, чего мне не хватает?

1 Ответ

2 голосов
/ 21 мая 2019

Вы можете привязать только к общедоступным свойствам :

public class LotHistoryInfo
{
    public Location Location { get; set; }
    public string UpdatedBy { get; set; }
    public DateTimeOffset UpdateDate { get; set; }

    public LotHistoryInfo(LotStoreHistory his)
    {
        Location = new Location(his.LshStoreid.ToString(), his.LshStorex, his.LshStorey, his.LshStorez);
        UpdatedBy = his.UpdatedBy;
        UpdateDate = his.Updated;

    }
    public LotHistoryInfo()
    {

    }
}

Вы реализовали Location, UpdatedBy и UpdateDate как поля :

public Location Location;
public string UpdatedBy;
public DateTimeOffset UpdateDate;
...