Forum

datagridview mail g...
 
Bildirimler
Hepsini Temizle

datagridview mail gönderme

6 Yazılar
2 Üyeler
0 Likes
1,531 Görüntüleme
(@salihozbey)
Gönderiler: 47
Trusted Member
Konu başlatıcı
 

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. 

 
Gönderildi : 19/03/2020 16:48

(@serkanates)
Gönderiler: 1275
Ü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.

 
Gönderildi : 19/03/2020 17:27

(@salihozbey)
Gönderiler: 47
Trusted Member
Konu başlatıcı
 

@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. 

 

 
Gönderildi : 19/03/2020 22:25

(@serkanates)
Gönderiler: 1275
Ü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.

 
Gönderildi : 20/03/2020 15:26

(@salihozbey)
Gönderiler: 47
Trusted Member
Konu başlatıcı
 

@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>";

 

 
Gönderildi : 20/03/2020 15:47

(@serkanates)
Gönderiler: 1275
Ü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();
}
 
Gönderildi : 20/03/2020 18:02

Paylaş: