none
Ayuda para válidar <DataGridComboBoxColumn> RRS feed

  • Pregunta

  • Buen día 

    Si me pueden ayudar con un DataGrid por favor
    Tengo un DataGrid con 2 columnas de tipo DataGridComboBoxColumn
    las dos columnas estan bindeadas así como lo tengo 
    <DataGridComboBoxColumn x:Name="paptColumn" Width="AUTO" Header="Payment Type" SelectedValuePath="ptID" DisplayMemberPath="ptN"  SelectedValueBinding="{Binding papt }"/>
            <DataGridComboBoxColumn x:Name="paccColumn" Width="AUTO" Header="Credit Card"  SelectedValuePath="ccID" DisplayMemberPath="ccN" SelectedValueBinding="{Binding pacc}"/>
     
    Como ven una columna tiene los tipos de pagos y el otro tiene las tarjetas de credito
    lo que quiero hacer es que cuando el usuario seleccione en la columna Payment Types el registro 
    Credit card se habilite la otra columana para que pueda escoger la tarjeta de credito de otra forma
    si escoge en la primera columna otro registro como efectivo pues que la segunda columna se desahbilite 

    Solo si es CrediCard me habilite la segunda columna. 
    No se si me explique.
    como puedo hacer esto, se los agradezco.


    Gracias Saludos...
                               

    Megems


    viernes, 15 de julio de 2016 15:59

Respuestas

  • Hola, si estás utilizando MVVM como modelo base, en tu ViewModel puedes crear una propiedad IsVisible. Si lo pones en true muestras el campo sino lo dejas deshabilitado.

    En tu ViewModel, cuando aplicas el set de tu campo papt escribes algo así:

    if (papt == "CreditCard")
        IsVisible = true;
    else
        IsVisible = false;
    

    En tu XAML quedaría así:

    <DataGridComboBoxColumn x:Name="paptColumn" Width="AUTO" Header="Payment Type" SelectedValuePath="ptID" DisplayMemberPath="ptN"  SelectedValueBinding="{Binding papt }"/>
    
    <DataGridComboBoxColumn x:Name="paccColumn" Width="AUTO" Header="Credit Card"  SelectedValuePath="ccID" DisplayMemberPath="ccN" SelectedValueBinding="{Binding pacc}" IsEnabled="{Binding IsVisible}"/>

    Espero resulte útil.

    Saludos


    Christian Amado
    Software Engineer | MCPD: Windows Phone Developer | MCTS: Silverlight Developer
    Don't forget to mark the right answer and vote up if helps you.
    My Blog
    My code samples

    viernes, 15 de julio de 2016 20:31