Как создать таблицу SpreadSheet только для чтения в UWP? - PullRequest
0 голосов
/ 20 мая 2018

Попытка представить таблицу данных пользователю, и мне нужно иметь сортируемые и изменяемые размеры столбцов с набором данных из DataSource.Есть ли пример того, как это сделать где-нибудь?Также нужна функция doubletap для selectedItem, чтобы открыть ContentDialog.

Ответы [ 3 ]

0 голосов
/ 20 мая 2018

Все описанные выше варианты использования могут обрабатываться элементом управления Radrik «RadDataGrid» Telerik, который является более надежным, чем встроенная сетка.Он также был открытым исходным кодом, поэтому нет никаких затрат, кроме случаев, когда требуется поддержка.

Сайт компании https://www.telerik.com/universal-windows-platform-ui/grid

NuGet: https://www.nuget.org/packages/Telerik.UI.for.UniversalWindowsPlatform/

Документация: https://docs.telerik.com/devtools/universal-windows-platform/Introduction-uwp

GitHub https://github.com/telerik/UI-For-UWP

0 голосов
/ 21 мая 2018

Существует элемент управления DataGrid XAML для UWP, который в настоящее время находится в предварительной версии, Элемент управления DataGrid XAML он находится в предварительной версии этого ответа и является портом версии Silverlight этого элемента управления, но можетстоит посмотреть.

https://www.nuget.org/packages/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/

0 голосов
/ 20 мая 2018

Шаг 1: NuGet

Microsoft.Toolkit.Uwp.UI.Controls.DataGrid
https://www.nuget.org/packages/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid/

Шаг 2: XAML

<Page
    x:Class="App3.MainPage"
    ...
    xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls">

    <Grid>
        <controls:DataGrid 
          Name="A1DataGrid"
          GridLinesVisibility="All"
          AlternatingRowBackground="LightGray"
          CanUserReorderColumns="True" 
          CanUserResizeColumns="True"
          SelectionMode="Single"
        />
    </Grid>
</Page>

Шаг 3: Код

...
using Microsoft.Toolkit.Uwp;

namespace App3
{
    // Table Row
    public class TStuff
    {
        public string LastName { get; set;}
        public string FirstName { get; set; }
    }

    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();

            A1DataGrid.ItemsSource = new List<TStuff>
            {
                new TStuff {FirstName="John",  LastName="Smith"},
                new TStuff {FirstName="Bob",   LastName="Spencer"},
                new TStuff {FirstName="Betty", LastName="Bennett"},
                new TStuff {FirstName="Max",   LastName="Harper"}
            };
        } // Constructor Method
    } // Class

}  // Namespace

Если вам нужен контроль над столбцами вШаг 2:

<controls:DataGrid 
          Name="A1DataGrid"
          GridLinesVisibility="All"
          AlternatingRowBackground="LightGray"
          CanUserReorderColumns="True" 
          CanUserResizeColumns="True"
          SelectionMode="Single"
          AutoGenerateColumns="False">  

    <controls:DataGrid.Columns>

        <controls:DataGridTextColumn 
            Header="First Name" 
            Width="SizeToCells"
            Binding="{Binding FirstName}" 
            FontSize="20" />

        <controls:DataGridTextColumn 
            Header="Last Name" 
            Width="SizeToCells"
            Binding="{Binding LastName}" 
            FontSize="20" />

    </controls:DataGrid.Columns>

</controls:DataGrid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...