Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    C# - Formattazione Listview WPF

    Salve a tutti,

    ho una maschera realizzata in WPF, tecnologia utilizzata C#, ho caricato in una ListView un dataview dei dati

    la struttura dello xaml è la seguente :

    <ListView>
    <ListView.View>
    <GridView>

    tutto ok, vedo i dati e le colonne, ora però mi servirebbe cambiare il valore di una colonna "stato" che ritorna i valori 0, 1, 2 in "Attivo", "Disattivo", "Sospeso"

    pensavo di trovare al volo cercando su internet il metodo per formattare questo valore ma trovo difficoltà...

    io lavoro con le gridview di aspnet e m'aspettavo il rowdatabound .. ma non c'è traccia qui :|

    Spero che qualcuno mi dia la dritta per sbloccarmi

    Grazie
    Michele

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Specifica il linguaggio di riferimento che utilizzi.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536

    Re: Formattazione Listview WPF

    Originariamente inviato da Micky^
    Salve a tutti,

    ho una maschera realizzata in WPF, ho caricato in una ListView un dataview dei dati

    la struttura dello xaml è la seguente :

    <ListView>
    <ListView.View>
    <GridView>

    tutto ok, vedo i dati e le colonne, ora però mi servirebbe cambiare il valore di una colonna "stato" che ritorna i valori 0, 1, 2 in "Attivo", "Disattivo", "Sospeso"

    pensavo di trovare al volo cercando su internet il metodo per formattare questo valore ma trovo difficoltà...

    io lavoro con le gridview di aspnet e m'aspettavo il rowdatabound .. ma non c'è traccia qui :|

    Spero che qualcuno mi dia la dritta per sbloccarmi

    Grazie
    Michele
    devi implementare Convert e ConvertBack in una classe che eredita da IValueConverter e utilizzarla come convertitore

  4. #4
    linguaggio aggiunto.. sorry

    Grazie per la risposta, avresti un esempio dal quale posso prendere spunto e adattarlo per le mie esigenze?

    Grazie
    Michele

  5. #5
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    Originariamente inviato da Micky^
    linguaggio aggiunto.. sorry

    Grazie per la risposta, avresti un esempio dal quale posso prendere spunto e adattarlo per le mie esigenze?

    Grazie
    Michele

    adesso non ho modo di provare, però dovrebbe essere una cosa del genere :
    codice:
    [ValueConversion(typeof(int), typeof(String))]
        public class StatoConverter : IValueConverter
        {
            public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                int stato = (int)value;
                string result = string.Empty;
                switch (stato)
                {
                    case 0:
                        {
                            result = "Attivo";
                            break;
                        }
                    case 1:
                        {
                            result = "Disattivo";
                            break;
                        }
                    case 2:
                        {
                            result = "Sospeso";
                            break;
                        }
                    default:
                        {
                            result = "imposta default";
                            break;
                        }
                }
                return result;
            }
    
            public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
            {
                string stato = (string)value;
                int result = 0;
                switch (stato)
                {
                    case "Attivo":
                        {
                            result = 0;
                            break;
                        }
                    case "Disattivo":
                        {
                            result = 1;
                            break;
                        }
                    case "Sospeso":
                        {
                            result = 2;
                            break;
                        }
                    default:
                        {
                            result = 0;
                            break;
                        }
                }
                return result;
            }
        }

  6. #6
    ok capito, questo devo legarlo all'elemento che devo sostituire via xaml giusto?

    grazie

  7. #7
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    Originariamente inviato da Micky^
    ok capito, questo devo legarlo all'elemento che devo sostituire via xaml giusto?

    grazie
    ora non ricordo bene, è da un po che non lavoro con wpf, però, nell'associazione dati trovi una proprietà (di tipo "Type" se non ricordo male ) dove puoi impostare il convertitore.

    quando hai fatto, potresti postare la soluzione? così mi rinfresco la memoria

  8. #8
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    continuo a non ricordare ma mi pare fosse una cosa del genere :

    usi come risorsa questo :
    codice:
    <Control.Resources>
            <my:StatoConverter x:Key="converter" />
    </Control.Resources>

    e nell'elemento associato dovresti mettere questo :
    codice:
    Source="{Binding Path=stato,  Mode=TwoWay, Converter={StaticResource converter} , ValidatesOnExceptions=true, NotifyOnValidationError=true, NotifyOnSourceUpdated=True}"

  9. #9
    mi da dei problemi su

    <Control.Resources>
    <my:StatoConverter x:Key="converter" />
    </Control.Resources>

    dice che non trova il riferimento my nel file xaml da quel che ho capito

    la classe l'ho inserire per adesso nel .cs dietro alla maschera xaml però ho intenzione di metterla come libreria separata, dovrò scrivere una cosa del genere giusto?

    <Control.Resources>
    <my:MyLibrary.StatoConverter x:Key="converter" />
    </Control.Resources>

    thanks

    p.s. :cmq in asp.net è tutto più semplice e basta richiamare un metodo public del file .cs passando il valore e il gioco è fatto.

  10. #10
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    Originariamente inviato da Micky^
    mi da dei problemi su

    <Control.Resources>
    <my:StatoConverter x:Key="converter" />
    </Control.Resources>

    dice che non trova il riferimento my nel file xaml da quel che ho capito

    la classe l'ho inserire per adesso nel .cs dietro alla maschera xaml però ho intenzione di metterla come libreria separata, dovrò scrivere una cosa del genere giusto?

    <Control.Resources>
    <my:MyLibrary.StatoConverter x:Key="converter" />
    </Control.Resources>

    thanks

    p.s. :cmq in asp.net è tutto più semplice e basta richiamare un metodo public del file .cs passando il valore e il gioco è fatto.
    mah... forse hai ragione, wpf è un po complesso, ma forse è più che altro una questione di abitudine.

    comunque provo a dare un'occhiata a qualche progetto per rinfrescarmi la memoria, ti faccio sapere.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.