Anasayfa » Forum

datagridview mail g...
 
Bildirimler
Hepsini Temizle

datagridview mail gönderme  

  RSS
Salih Özbey
(@salihozbey)
Üye

Merhabalar Arkadaşlar,

datagridview'e girdiğim veriler sql veri tabanına kayıt edilmektedir. Aynı zaman da da buraya girilen verileri mail olarak da karşı tarafa iletmek istiyorum. Mail gönderme kısmı okey ama datagridview'i maile ekleme konusunda çözüm bulamadım. Konu ile ilgili yardım edermisiniz. 

Alıntı
Gönderildi : 19/03/2020 16:48
Serkan Ateş
(@SerkanAtes)
Üye

Eğer IsBodyHtml parametresini true olarak ayarlarsanız HTML e-posta gönderebilirsiniz. Bu durumda grid içeriğinizi bir döngü ile html tablosuna çevirebilirsiniz.

İyi çalışmalar.

CevapAlıntı
Gönderildi : 19/03/2020 17:27
Salih Özbey
(@salihozbey)
Üye

@SerkanAtes

Ya aslında internetten bi kaç örnek bularak denedim ama en çok elle tutulur olan da gelen mailde data gride girdiğim bilgiler var ama başlıklar yok ve excel gibi sütun satır çizgileri yok okunaklı anlamlı ama başlıklar ve çizgiler olmadım mı çok amatör gözükmekte bununla ilgili tasarımı daha güzel yapacağım öğeler olsa yada sizin bir örnek kod diziniz varsa paylaşabilirmisiniz. 

 

CevapAlıntı
Gönderildi : 19/03/2020 22:25
Serkan Ateş
(@SerkanAtes)
Üye

https://www.w3schools.com/html/html_tables.asp adresinden destek alabilirsiniz. Ayrıca https://www.tablesgenerator.com/html_tables adresi de yardımcı olacaktır.

Sağlıklı günler.

CevapAlıntı
Gönderildi : 20/03/2020 15:26
Salih Özbey
(@salihozbey)
Üye

@SerkanAtes

Merhabalar,

 

Kusura bakmayın denedim fakat beceremedim. Programın dili c# ile yazmaktayım dediğiniz gibi donguye girerek datagridi çağırmaktayım fakat datagrid başlıkları gelmeketedir. kad dizisi aşağıdaki gibidir. Tekrar yardımcı olurmusunuz.

 

string mailBody = "<table width='100%' style='border:Solid 1px Black;'>";

StringBuilder sb = new StringBuilder();

foreach (DataGridViewRow row in dataGridView1.Rows)
{

mailBody += "<tr>";
foreach (DataGridViewCell cell in row.Cells)
{

mailBody += "<td stlye='color:blue;'>" + cell.Value + "</td>";
}
mailBody += "</tr>";
}
mailBody += "</table>";

 

CevapAlıntı
Gönderildi : 20/03/2020 15:47
Serkan Ateş
(@SerkanAtes)
Üye

Merhaba;

Hazır kod vermemek için çok direndim Salih bey ama bu sefer de böyle olsun 🙂 Aşağıdaki örneği ihtiyaçlarınıza göre revize edebilirsiniz. Bir kahvenizi içeriz artık. Sağlıklı günler.

private void button1_Click(object sender, EventArgs e)
{
dataGridView1.ColumnCount = 3;
dataGridView1.Columns[0].Name = "stok_kod";
dataGridView1.Columns[0].HeaderText = "Stok Kodu";
dataGridView1.Columns[1].Name = "stok_ad";
dataGridView1.Columns[1].HeaderText = "Stok Adı";
dataGridView1.Columns[2].Name = "miktar";
dataGridView1.Columns[2].HeaderText = "Miktar";

string[] grid_row = null;

grid_row = new string[] { "S.001", "Kağıt", "10" };
dataGridView1.Rows.Add(grid_row);

grid_row = new string[] { "S.002", "Kalem", "20" };
dataGridView1.Rows.Add(grid_row);

grid_row = new string[] { "S.003", "Silgi", "30" };
dataGridView1.Rows.Add(grid_row);

grid_row = new string[] { "S.004", "Defter", "40" };
dataGridView1.Rows.Add(grid_row);

grid_row = new string[] { "S.005", "Cetvel", "50" };
dataGridView1.Rows.Add(grid_row);

StringBuilder sb = new StringBuilder();
sb.Append("<table style=\"border-spacing: 0px; text-align: center; width: 60%;\">");
sb.Append("<thead>");
sb.Append("<tr>");
foreach (DataGridViewColumn dgcol in dataGridView1.Columns)
{
sb.Append(string.Format("<th style=\"border: 1px solid black; background-color: gray;\">{0}</th>\"",dgcol.HeaderText));
}
sb.Append("</tr>");
sb.Append("</thead>");
sb.Append("<tbody>");


foreach (DataGridViewRow dgrow in dataGridView1.Rows)
{
sb.Append("<tr>");
for (int i = 0; i < dgrow.Cells.Count; i++)
{
sb.Append(string.Format("<td style=\"border: 1px solid black\">{0}</td>", dgrow.Cells[i].Value));
}
sb.Append("</tr>");
}

sb.Append("</tbody>");
sb.Append("</table>");
textBox1.Text = sb.ToString();
}
CevapAlıntı
Gönderildi : 20/03/2020 18:02
Paylaş: