none
Imprimir a 2 columnas RRS feed

  • Pregunta

  • Buenas estoy desarrollando una aplicación en Windows Mobile 6. tengo que generar un informe a impresora conectada en COM1.

    Como puedo hacer para imprimir los datos a doble columna, ejemplo

    Kilos      Importe                   Kilos        Importe

    ---------------------                  -----------------------

    Los datos se recuperan en un DataTable.

     

    Estoy programando en C# con FrameWork 2.0

     


    • Editado MACC30 martes, 18 de octubre de 2011 11:51
    martes, 18 de octubre de 2011 11:51

Respuestas

  • Me imagino que para imprimir lo que haces es ir enviando texto con los métodos Write y WriteLine de un objeto SerialPort.

    No hay un automatismo que te tome los datos del DataTable y te los pase a dos columnas. Tendrás que hacerlo manualmente desde código, imprimiendo (por ejemplo) alternativamente las filas pares en la primera columna y las impares en la segunda. Esto tendrás que hacerlo con un "If" en tu código; ni el DataTable ni el SerialPort tienen nada que lo haga por tí. Quedaría algo parecido a lo siguiente:

    int fila = 0;
    foreach (DataRow dr in elDataTable.Rows)
    {
        ++fila;
        serialPort1.Write(dr["kilos"].ToString());
        serialPort1.Write("\t"); //O bien varios espacios
        serialPort1.Write(dr["Importe"].ToString(formato));
        if (fila % 2 == 0) //Si es par
        {
            serialPort1.Write("\r\n");
        }
        else
        {
            serialPort1.Write("\t\t"); //O bien varios espacios
         }
    }
    


     

    • Marcado como respuesta MACC30 martes, 20 de agosto de 2019 12:01
    martes, 18 de octubre de 2011 17:32