Autor
|
Tema: enviar un datagridview por email c#[SOLUCIONADO] (Leído 11,177 veces)
|
evicar
Desconectado
Mensajes: 36
|
estimados... denuevo con una consulta. quiero hacer un programita que me envia el de detalle de una orden de venta por email, esto lo obtengo atraves de una consulta sencilla en sql ... la cosa, es que no se como enviar en el cuerpo del mensaje esta informacion.. mi intencion es enviar una especie de datagridview, solo el formato texto... no se si me logro explicar les adjunto una ss de como quiero que llegue el mail... Uploaded with ImageShack.usprivate void button1_Click(object sender, EventArgs e) { SqlConnection cn = new SqlConnection ("conexión"); SqlDataAdapter cm = new SqlDataAdapter ("select invtid,desc,qtyord,precilista,preciomargen from soshipline where shipperid='12345'", cn ); DataSet ds = new DataSet (); cm.Fill(ds, "soshipline"); MailMessage msg = new MailMessage (); msg .To.Add(new MailAddress ("econtreras@hofmann.cl")); msg .From = new MailAddress ("servidor@hofmann.cl"); msg.Subject = "Venta Bajo Margen"; msg.Body = " Deseo que vaya la Info detalle productos de la Nota Venta"; SmtpClient clienteSmtp = new SmtpClient ("smtp.xxxxxxxxxx.cl"); // Este es el código nuevo clienteSmtp.Credentials = new NetworkCredential ("servidor@hofmann.cl", "xxxxxxxxxxxx"); try { clienteSmtp.Send(msg); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Resumiendo necesito enviar la el resultado de la consulta que tengo en el DataSet en el cuerpo del mensaje. Saludos
|
|
« Última modificación: 7 Enero 2011, 22:26 pm por evicar »
|
En línea
|
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
En vez de poner ese texto, construyes un Html con tablas y le pones esto: msg.IsBodyHtml = true; Y listo
|
|
|
En línea
|
|
|
|
evicar
Desconectado
Mensajes: 36
|
En vez de poner ese texto, construyes un Html con tablas y le pones esto: msg.IsBodyHtml = true; Y listo y como podria lograr eso...???? con lo de html y tablas me perdi... xD Saludos
|
|
|
En línea
|
|
|
|
.mokk.
Desconectado
Mensajes: 177
|
Bueno buscando en google hay formas de convertir un DataTable a Html, por lo que nos facilitara el trabajo ^^ Al final el codigo podria quedarnos asi private void button1_Click(object sender, EventArgs e) { SqlConnection cn = new SqlConnection ("conexión"); SqlDataAdapter cm = new SqlDataAdapter ("select invtid,desc,qtyord,precilista,preciomargen from soshipline where shipperid='12345'", cn ); DataTable dt = New DataTable (); cm.Fill(dt); String datos = ConvertToHtmlFile(dt): MailMessage msg = new MailMessage (); msg .To.Add(new MailAddress ("econtreras@hofmann.cl")); msg .From = new MailAddress ("servidor@hofmann.cl"); msg.Subject = "Venta Bajo Margen"; msg.Body = datos; msg.IsBodyHtml = true; SmtpClient clienteSmtp = new SmtpClient ("smtp.xxxxxxxxxx.cl"); // Este es el código nuevo clienteSmtp.Credentials = new NetworkCredential ("servidor@hofmann.cl", "xxxxxxxxxxxx"); try { clienteSmtp.Send(msg); } catch (Exception ex) { MessageBox.Show(ex.Message); } } public static string ConvertToHtmlFile(DataTable targetTable) { string myHtmlFile = ""; if (targetTable == null) { throw new System.ArgumentNullException("targetTable"); } else { //Continue. } //Get a worker object. StringBuilder myBuilder = new StringBuilder (); //Open tags and write the top portion. myBuilder.Append("<html xmlns='http://www.w3.org/1999/xhtml'>"); myBuilder.Append("<head>"); myBuilder.Append("<title>"); myBuilder.Append("Page-"); myBuilder.Append(Guid.NewGuid().ToString()); myBuilder.Append("</title>"); myBuilder.Append("</head>"); myBuilder.Append("<body>"); myBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' "); myBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>"); //Add the headings row. myBuilder.Append("<tr align='left' valign='top'>"); foreach (DataColumn myColumn in targetTable.Columns) { myBuilder.Append("<td align='left' valign='top'>"); myBuilder.Append(myColumn.ColumnName); myBuilder.Append("</td>"); } myBuilder.Append("</tr>"); //Add the data rows. foreach (DataRow myRow in targetTable.Rows) { myBuilder.Append("<tr align='left' valign='top'>"); foreach (DataColumn myColumn in targetTable.Columns) { myBuilder.Append("<td align='left' valign='top'>"); myBuilder.Append(myRow[myColumn.ColumnName].ToString()); myBuilder.Append("</td>"); } myBuilder.Append("</tr>"); } //Close tags. myBuilder.Append("</table>"); myBuilder.Append("</body>"); myBuilder.Append("</html>"); //Get the string for return. myHtmlFile = myBuilder.ToString(); return myHtmlFile; }
|
|
« Última modificación: 7 Enero 2011, 22:04 pm por .mokk. »
|
En línea
|
|
|
|
evicar
Desconectado
Mensajes: 36
|
Bueno buscando en google hay formas de convertir un DataTable a Html, por lo que nos facilitara el trabajo ^^ Al final el codigo podria quedarnos asi private void button1_Click(object sender, EventArgs e) { SqlConnection cn = new SqlConnection ("conexión"); SqlDataAdapter cm = new SqlDataAdapter ("select invtid,desc,qtyord,precilista,preciomargen from soshipline where shipperid='12345'", cn ); DataTable dt = New DataTable (); cm.Fill(dt); String datos = ConvertToHtmlFile(dt): MailMessage msg = new MailMessage (); msg .To.Add(new MailAddress ("econtreras@hofmann.cl")); msg .From = new MailAddress ("servidor@hofmann.cl"); msg.Subject = "Venta Bajo Margen"; msg.Body = datos; msg.IsBodyHtml = true; SmtpClient clienteSmtp = new SmtpClient ("smtp.xxxxxxxxxx.cl"); // Este es el código nuevo clienteSmtp.Credentials = new NetworkCredential ("servidor@hofmann.cl", "xxxxxxxxxxxx"); try { clienteSmtp.Send(msg); } catch (Exception ex) { MessageBox.Show(ex.Message); } } public static string ConvertToHtmlFile(DataTable targetTable) { string myHtmlFile = ""; if (targetTable == null) { throw new System.ArgumentNullException("targetTable"); } else { //Continue. } //Get a worker object. StringBuilder myBuilder = new StringBuilder (); //Open tags and write the top portion. myBuilder.Append("<html xmlns='http://www.w3.org/1999/xhtml'>"); myBuilder.Append("<head>"); myBuilder.Append("<title>"); myBuilder.Append("Page-"); myBuilder.Append(Guid.NewGuid().ToString()); myBuilder.Append("</title>"); myBuilder.Append("</head>"); myBuilder.Append("<body>"); myBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' "); myBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>"); //Add the headings row. myBuilder.Append("<tr align='left' valign='top'>"); foreach (DataColumn myColumn in targetTable.Columns) { myBuilder.Append("<td align='left' valign='top'>"); myBuilder.Append(myColumn.ColumnName); myBuilder.Append("</td>"); } myBuilder.Append("</tr>"); //Add the data rows. foreach (DataRow myRow in targetTable.Rows) { myBuilder.Append("<tr align='left' valign='top'>"); foreach (DataColumn myColumn in targetTable.Columns) { myBuilder.Append("<td align='left' valign='top'>"); myBuilder.Append(myRow[myColumn.ColumnName].ToString()); myBuilder.Append("</td>"); } myBuilder.Append("</tr>"); } //Close tags. myBuilder.Append("</table>"); myBuilder.Append("</body>"); myBuilder.Append("</html>"); //Get the string for return. myHtmlFile = myBuilder.ToString(); return myHtmlFile; }
Estimado funciono perfecto muchas gracias TEMA SOLUCIONADO
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con datagridview (SOLUCIONADO)
.NET (C#, VB.NET, ASP)
|
akonerz
|
3
|
6,096
|
15 Septiembre 2009, 22:25 pm
por akonerz
|
|
|
[SOLUCIONADO] VB - Duda con DataGridView
.NET (C#, VB.NET, ASP)
|
AlonsoCN
|
2
|
9,013
|
3 Noviembre 2009, 05:57 am
por AlonsoCN
|
|
|
DataGridView con Chart y Button (Solucionado)
« 1 2 »
.NET (C#, VB.NET, ASP)
|
¡Micronet!
|
15
|
23,608
|
28 Junio 2013, 21:34 pm
por CarballoUriel
|
|
|
[Solucionado] Problema con enviar email
« 1 2 »
PHP
|
Caster
|
19
|
8,114
|
3 Enero 2012, 00:45 am
por dsalcedo
|
|
|
Enviar DataGridView por Email VB.net 2010
.NET (C#, VB.NET, ASP)
|
el_cantante
|
6
|
6,054
|
23 Septiembre 2015, 09:43 am
por el_cantante
|
|