none
COMO EXPORTAR DATAGRID crear datatable con un datagrid como recoger datos del datagrid COMO??? RRS feed

  • Pregunta

  • hola,

    quisiera saber como puedo recorrer un datagrid almacenando los valores ingresados en un datatable, el hecho es que el datagrid tiene varias columnas, como entonces creo el datatable solo con algunas tablas¿?

    como hago para que este datatable sea leible por otro datagrid¿?

     

    como puedo recoger los datos insertados en un datagrid¿?

    muchas gracias

    • Editado ccmmasi jueves, 22 de abril de 2010 16:44
    miércoles, 21 de abril de 2010 16:54

Respuestas

Todas las respuestas

  • hola, añado informacion al problema

    el datagrid teine vaias columnas, digamos unas 7, 3 de ellas estan llenandose con un archivo xml, en las demas columnas hay controles (textbox, datepicker, combobox, checkbox) entonces quiero recoger los datos del datagrid pero no se como, no se si se pueda crear un datatable con esta informacion o que, o pasar el datagrid a excel y este archivo de excel a xml, no se nose,..,,.

    la verdad estoy muy confundido con recoger la informacion de este datagrid, no se que sea mas facil, si pasarla directo a xml, crear un datatable con la informacion, o crear un datatable y esta pasarla a xml,,,

    espero me puedan ayudar

    jueves, 22 de abril de 2010 16:09
  • Hola crituscam.

    ¿Como estas populando el datagrid? ¿cual es la fuente de datos?


    Saludos
    David González
    jueves, 22 de abril de 2010 17:03
  • hola david, 

    gracias por contestar, 

    como te digo, el datagrid tiene varias columnas, las cuales son llenadas desde un xml, en las demas columnas solamente hay controles para complementar la informacion.

    añado el xml en el encabezado del xaml asi:

    XmlDataProvider x:Key="Tareas" Source="C:\\DocumentosPlaneacion\\ArbolUbicacionTareas.xml"/>

    y el datagrid:

    <dg:DataGrid Name="DataGridDetalle" ItemsSource="{Binding Source={ StaticResource Tareas}, XPath=DocumentElement/Items/Item}" 
                         AutoGenerateColumns="False" AlternatingRowBackground="LightSteelBlue"
                         Canvas.Left="11" Width="1068" Height="372" Canvas.Top="11">
    
              <dg:DataGrid.Columns>
                <dg:DataGridTemplateColumn Header="Fase" Width="70">
                  <dg:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                      <TextBlock Name="fase" Text="{Binding Mode=TwoWay, XPath=Fase}" />
                          </DataTemplate>
                  </dg:DataGridTemplateColumn.CellTemplate>
                </dg:DataGridTemplateColumn>
    
                <dg:DataGridTemplateColumn Header="Tarea" MinWidth="100">
                  <dg:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                      <TextBlock Name="tarea" Text="{Binding Mode=TwoWay, XPath=Nombre}" />
                          </DataTemplate>
                  </dg:DataGridTemplateColumn.CellTemplate>
                </dg:DataGridTemplateColumn>
    <dg:DataGridTemplateColumn Header="Descripcion" Width="130">
                  <dg:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                      <TextBox />
                    </DataTemplate>
                  </dg:DataGridTemplateColumn.CellTemplate>
                  <dg:DataGridTemplateColumn.CellEditingTemplate>
                    <DataTemplate>
                      <TextBlock Text=""/>
                          </DataTemplate>
                  </dg:DataGridTemplateColumn.CellEditingTemplate>
                </dg:DataGridTemplateColumn>
              </dg:DataGrid.Columns>
            </dg:DataGrid>

    en este datagrid se ven dos columnas (fase y tarea) que reciben informacion xml, la tercera columnas es de descripcion que tiene como control un textbox en el que el usuario añade informacion, ademas de este textbox tambien hay checkbox, combox, datepickers.

    quisiera entonces recorrer el datagrid para obtener los datos ingresados, no se si exportarlos a un datatable, dataset, xml o a que, y no se como exportarlos, como recorrer el datagrid, 

    espero me puedan ayudar

     

    muchas gracias

     

    jueves, 22 de abril de 2010 17:41
  • hola:

    en estos momentos estoy haciendo esto:

    Microsoft.Win32.SaveFileDialog dialogue = new Microsoft.Win32.SaveFileDialog();
          dialogue.DefaultExt = "*.xml";
          dialogue.Filter = "Excel XML (*.xml)|*.xml|All Files (*.*)|*.*";
          if (dialogue.ShowDialog() == false) return;
          using (StreamWriter sw = new StreamWriter(dialogue.OpenFile()))
          {
            sw.WriteLine("<?xml version=\"1.2\"?>");
            sw.WriteLine("<?xso-application progid=\"Excel.Sheet\"?>");
            sw.WriteLine("<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"");
            sw.WriteLine("xmlns:o=\"urn:schemas-microsoft-com:office:office\"");
    
            //foreach (DataGridColumn col in datagridxmldetalle.Columns)
            //{
            //  sw.WriteLine("<Cell><Data>" + col.Header + "</Data></cell>");
            //}
            foreach (System.Xml.XmlElement row in datagridxmldetalle.Items)
            {
              sw.WriteLine("<Cell><Data>" + row.InnerXml + "</Data></cell>");
            }
          }

     

    en este momento y con este codigo esta generando el xml con el texto estatico, el que viene del xml, la informacion que copio en los controles no la graba. como puedo hacer para que me tome la informacion que escribo en los controles¿?

    jueves, 22 de abril de 2010 18:08
  • hola, como lo he dicho debo recorrer es el origen de datos no el datagrid!!!!
    • Marcado como respuesta ccmmasi miércoles, 14 de julio de 2010 1:16
    miércoles, 14 de julio de 2010 1:16