0
我目前正在解決一段時間我有一個C#Winform應用程序的問題。我有一個數據網格,通過查詢填充信息。一切都運行良好,winform的用戶可以「勾選」將通過電子郵件發送到其他地方的相關行。我遇到的問題是,目前所有行都會包含在電子郵件中,無論是否打勾。我只想將被打勾的行發送到電子郵件,其餘的被忽略。我覺得像我靠近,我的代碼如下:發送一個datagridview中的選定行到電子郵件
private void btnEmailReg_Click(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
try
{
SmtpClient client = new SmtpClient("smtpclient");
MailMessage message = new MailMessage();
message.From = new MailAddress("address");
string mailBox = cmbExamTeamReg.Text.Trim();
message.To.Add(mailBox);
string mailFrom = txtEmailFromReg.Text.Trim();
message.CC.Add(mailFrom);
string mailCC = txtMailCCReg.Text.Trim();
message.Bcc.Add(mailCC);
File.Delete("Registration_Result.xls");
StreamWriter sw = new StreamWriter("Registration Result.xls", false, Encoding.UTF8);
sw.Write(htmlMessageBodyReg().ToString());
sw.Close();
Attachment myAttach = new Attachment("Registration Result.xls");
message.Attachments.Add(myAttach);
message.IsBodyHtml = true;
message.Body = "Registration request, please see following details: " + "\n" + "<br>" +
"Exam Team member: " + cmbExamTeamReg.Text +
"\n" + "<br>" + "Course Tutor: " + txtCourseTutorReg.Text +
"\n" + "<br>" + "Award & Complex Number: " + txtAwardCompReg.Text +
"\n" + "<br>" + "Comments: " + rtextCommentsReg.Text;
message.Subject = "Registration Request";
client.Credentials = new System.Net.NetworkCredential("credentials);
client.Port = System.Convert.ToInt32(25);
for (int i = 0; i < this.dgCourseStudentsReg.Rows.Count; i++)
{
if (dgCourseStudentsReg.Rows[i].Cells[0].Value.ToString() == "True")
{
for (int j = 1; j < this.dgCourseStudentsReg.Columns.Count; j++)
{
message.Body = message.Body + "\n" + "<br>" + this.dgCourseStudentsReg.Rows[i].Cells[j].Value;
}
dgCourseStudentsReg.Rows[i].Selected = true;
dgCourseStudentsReg.Rows[i].Visible = true;
}
else
{
dgCourseStudentsReg.CurrentCell = null;
dgCourseStudentsReg.Rows[i].Selected = false;
dgCourseStudentsReg.Rows[i].Visible = false;
}
}
client.Send(message);
new Endpage().Show();
this.Close();
}
catch
{
MessageBox.Show("Please check all required fields are complete");
}
}
我也一直在通過這一工作與專家交流的一些幫助,問題都可以找到here更多的細節;
就目前來看,如果我改變某些東西(所有行都經過)或給出一個錯誤(到目前爲止話題末尾的最詳細的步驟),或者如果它改變了工作,它只會隱藏選定的行而不是電子郵件。
喜Charles,感謝這個,但是數據是通過查詢加載的,所以硬編碼值不起作用。 – Richard 2014-08-28 16:01:23
這只是一個例子,你應該用這種方法來處理你的數據。 – CharlesMighty 2014-08-28 17:20:09
我明白,但是這種方法是行不通的。我無法預測哪些行將被選中,哪些數據作爲應用程序將被不同的用戶在不同的時間使用。 – Richard 2014-08-29 08:07:54