Inspirare-LLC / Radzen.Blazor.GridExportOptions

Radzen blazor grid export options
MIT License
4 stars 2 forks source link

multirow selection with checkbox moves the export values in the wrong column #4

Closed frankleib closed 2 years ago

frankleib commented 2 years ago

if you use this: `@page "/ftpimportselection/{urlparamdata?}" @using Radzen @using BOEERP.FTPImport.Models @using BOEERP.Common.WebHelper @using Radzen.Blazor.GridExportOptions

Auswahl FTP Import Preise und Verfügbarkeiten von @urlParameterDic["konto"] @urlParameterDic["kontobez"]

<RadzenGridExportOptions Grid="@grid" CsvExport="false"/>
<RadzenDataGrid AllowFiltering="true" PageSize=40 AllowMultiColumnSorting="true"
            AllowSorting="true" Data="@fTPImportElements" TItem="FTPImportElement" ColumnWidth="200px"
            SelectionMode="DataGridSelectionMode.Multiple" @bind-Value=@fTPImportSelectedElements>
    <Columns>
        <RadzenDataGridColumn TItem="FTPImportElement" Width="20px" Sortable="false" Filterable="false">
            <HeaderTemplate>
                <RadzenCheckBox TriState="false" TValue="bool" Value="@(fTPImportElements.Any(i => fTPImportSelectedElements != null && fTPImportSelectedElements.Contains(i)))"
                                Change="@(args => fTPImportSelectedElements = args ? fTPImportElements.ToList() : null)" />
            </HeaderTemplate>
            <Template Context="data">
                <RadzenCheckBox TriState="false" Value="@(fTPImportSelectedElements != null && fTPImportSelectedElements.Contains(data))" />
            </Template>
        </RadzenDataGridColumn>
        <RadzenDataGridColumn TItem="FTPImportElement" Property="Identnr" Title="Artikelnummer" />
        <RadzenDataGridColumn TItem="FTPImportElement" Property="Bezeichnung" Title="Bezeichnung" />
        <RadzenDataGridColumn TItem="FTPImportElement" Property="Menge_ab" Title="Ab-Menge" Width="60px" TextAlign="TextAlign.Right"/>
        <RadzenDataGridColumn TItem="FTPImportElement" Property="Ekpreis" Title="EK-Preis"  Width="60px" TextAlign="TextAlign.Right"/>
        <RadzenDataGridColumn TItem="FTPImportElement" Property="Menge_verf" Title="verf.Menge"  Width="60px" TextAlign="TextAlign.Right"/>
        <RadzenDataGridColumn TItem="FTPImportElement" Property="Liefterm" Title="Liefertermin" FormatString="{0:d}"  Width="60px" TextAlign="TextAlign.Right"/>
        <RadzenDataGridColumn TItem="FTPImportElement" Property="anp_ve_lief" Title="VE"  Width="60px" TextAlign="TextAlign.Right"/>
        <RadzenDataGridColumn TItem="FTPImportElement" Property="anp_palmenge" Title="PAL"  Width="60px" TextAlign="TextAlign.Right"/>
        <RadzenDataGridColumn TItem="FTPImportElement" Property="EAN" Title="EAN"/>
        <RadzenDataGridColumn TItem="FTPImportElement" Property="Kdidentnr" Title="Artikel-Lieferant" />
    </Columns>
</RadzenDataGrid>

@code { [Parameter] public string? urlparamdata { get; set; }

RadzenDataGrid<FTPImportElement> grid;
private Dictionary<String, String>? urlParameterDic;

IEnumerable<FTPImportElement> fTPImportElements;
IList<FTPImportElement> fTPImportSelectedElements;

protected override void OnInitialized()
{
    urlParameterDic = new URIParameterDic().GetUriParameterDictionary(urlparamdata, "_br_", "_=_");

    fTPImportElements = new List<FTPImportElement>()
    {
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0001,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "Blub Topf",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.01.2022"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0001,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "a Topf",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.01.2021"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0001,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "Blub Topf",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.01.2022"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0011,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "Blub Topf",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.01.2022"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0021,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "Blub Topf",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.01.2022"),
            anp_ve_lief = 200,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0001,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "Blub Topf",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 10,
            Liefterm = Convert.ToDateTime("25.01.2022"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0021,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "Blub Topf",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 10,
            Liefterm = Convert.ToDateTime("25.01.2022"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0002,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "Blub Topf",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.01.2022"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0004,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "20 Bez",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.04.2022"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0001,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "10 Bez",
            Menge_ab = 1,
            Ekpreis = 100.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.04.2022"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0001,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "1 Bez",
            Menge_ab = 1,
            Ekpreis = 0.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.01.2023"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        },
        new FTPImportElement()
        {
            Id = 1,
            Lieferant = 0001,
            Kdidentnr = "blub1",
            EAN = "123456",
            Identnr = "09876",
            Bezeichnung = "zepper",
            Menge_ab = 1,
            Ekpreis = 200.25M,
            Menge_verf = 1,
            Liefterm = Convert.ToDateTime("25.01.2018"),
            anp_ve_lief = 2,
            anp_palmenge = 10
        }
    };

    //fTPImportElements = dbContext.Employees;
}

}`

and you export it to excel, you get the frist col empty and the other col with the date from the col before (it s all a col later...) export (7).xlsx

frankleib commented 2 years ago

with ` <RadzenDataGrid AllowFiltering="true" PageSize=40 AllowMultiColumnSorting="true" AllowSorting="true" Data="@fTPImportElements" TItem="FTPImportElement" ColumnWidth="200px" SelectionMode="DataGridSelectionMode.Multiple" @bind-Value=@fTPImportSelectedElements>

` is all ok :)