Foros del Web » Programando para Internet » ASPX (.net) »

Trabajando con datos... metodología correcta ??

Estas en el tema de Trabajando con datos... metodología correcta ?? en el foro de ASPX (.net) en Foros del Web. Buenas de nuevo... Vereis, tengo un DataGrid, donde cargo X datos. Si quiero editar estos datos no tengo problema, doble click sobre la celda, edito, ...
  #1 (permalink)  
Antiguo 12/01/2010, 05:02
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Trabajando con datos... metodología correcta ??[CERRADO]

Buenas de nuevo...

Vereis, tengo un DataGrid, donde cargo X datos. Si quiero editar estos datos no tengo problema, doble click sobre la celda, edito, y ya está, el objeto enlazado automáticamente se actualiza.

Cuando pulse el botón Guardar, voy a mandar ese "Binding del DataGrid (De tipo ClientesList)" al método de mi servicio y actualizará los datos.

Hasta ahi perfecto. Sin embargo, si lo que hago es eliminar una fila del DataGrid (Es decir, tb se eliminará de mi objeto de tipo ClientesList), ¿Como puedo detectar que se ha borrado?, quiero decir... ¿Como puedo decir en mi método de actualización que tiene que borrar el registro que... no está en la lista?

En fin, espero haberme explicado... sino, diganme y lo pongo más concreto.

Thanks por todo.

Saludos.
__________________
Charlie.

Última edición por chcma; 13/01/2010 a las 09:02
  #2 (permalink)  
Antiguo 13/01/2010, 09:02
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Trabajando con datos... metodología correcta ??

Bueno, mi idea era por si trabajaba en modo offline, y despues sincronizar los datos, pero veo que eso sería más complicado de lo que pensaba.

Saludos
__________________
Charlie.
  #3 (permalink)  
Antiguo 13/01/2010, 09:11
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Trabajando con datos... metodología correcta ??

Que Mode tienen tus bindings?
Cual es tu updatesourcetrigger?
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 14/01/2010, 02:12
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Trabajando con datos... metodología correcta ??

Mmm, la verdad PeterPay, la primera pregunta, no tengo ni idea. Y la segunda... no sé ni para que narices se usa eso...

Tengo esto:

XAML
Código:
        <Button x:Name="btnCargar" Content="Cargar Datos" Click="Button_Click" Margin="27,8,0,0" Height="24" VerticalAlignment="Top" HorizontalAlignment="Left" Width="116" />
        <data:DataGrid x:Name="ctrlGridClientes" Margin="27,36,23,0" AutoGenerateColumns="False" LoadingRow="ctrlGridClientes_LoadingRow" SelectionChanged="ctrlGridClientes_SelectionChanged" Height="202" VerticalAlignment="Top">
            <data:DataGrid.Columns>
                <data:DataGridTextColumn Header="Codigo Cliente" Binding="{Binding CodigoCliente}"/>
                <data:DataGridTextColumn Header="Nombre Cliente" Binding="{Binding NombreCliente}"/>
                <data:DataGridTemplateColumn Header="Provincia">
                    <data:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <ComboBox x:Name="cmbProvincias">
                                    <ComboBox.ItemTemplate>
                                        <DataTemplate>
                                            <StackPanel Orientation="Horizontal">
                                                <TextBlock x:Name="txtProvincia" Text="{Binding NombreProvincia}" />
                                            </StackPanel>
                                        </DataTemplate>
                                    </ComboBox.ItemTemplate>
                                </ComboBox>
                            </StackPanel>
                        </DataTemplate>
                    </data:DataGridTemplateColumn.CellTemplate>
                </data:DataGridTemplateColumn>
                <data:DataGridTemplateColumn Header="Eliminar">
                    <data:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox x:Name="chkEliminar" IsChecked="False" />
                        </DataTemplate>
                    </data:DataGridTemplateColumn.CellTemplate>
                </data:DataGridTemplateColumn>
            </data:DataGrid.Columns>
        </data:DataGrid>

CODE-BEHIND (Pongo lo relevante, que son los Eventos que se ejecutaran cuando se reciba la respuesta de la llamada asincrona al WCF Service)
Código:
        private void objCliente_GetClientesCompleted(object sender, GetClientesCompletedEventArgs e)
        {

            ctrlGridClientes.ItemsSource = e.Result;

            pbCargando.Visibility = Visibility.Collapsed;
        }

        private void _objCliente_SaveClientesCompleted(object sender, SaveClientesCompletedEventArgs e)
        {

            try
            {

                if (e.Result)
                    MessageBox.Show("Datos guardados correctamente", "Correcto", MessageBoxButton.OK);
                else
                    MessageBox.Show("Ha sucedido un error guardando los datos", "Error", MessageBoxButton.OK);
            }
            catch (Exception ex)
            {

                MessageBox.Show("Error inesperado: " + ex.Message, "Error", MessageBoxButton.OK);
            }
        }

Bueno... ahi no te puse el botón guardar. La idea en principio era la siguiente (Que creo esta mal planteada).
1-. Pulsar el botón de cargar datos.
2-. Editas lo que queires en el DataGrid.

2.1-. Pulsas al botón Cancelar, el cual llamará al de Cargar Datos otra vez, y se volverán a cargar los datos iniciales.
2.2-. Pulsas el botón Guardar, donde entonces se envia la ObservableCollection asociada al WCF Service para que vaya actualizando.

El problema está, en que si pongo un botón eliminar en cada fila del DataGrid, este elemento se elimina de la ObservableCollection, pero al mandar esta al WCF Service, como ya no está ese elemento, no sé como "adivinar" que tengo que eliminarlo...

Creo que lo tenía mal planteado, no obstante, si me puedes dar un poco de luz en como trabajar con una buena metodologia n-tier en Silverlight, te lo agradecería amigo.

Mi idea inicial es la siguiente:
- Un proyecto de Entidades. (Que solo tiene clases y enumeraciones)
- Un proyecto de Negocio.
- Un proyecto con el acceso a datos.
- Un proyecto Silverlight con toda la UI.
- Un proyecto Web, con los WCF Services y con la página .aspx que contendrá el elemento Silverilght.

Agradecería me comentaras como ves todo este tema... Saludos.
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:26.