forodo
جمعه 22 آذر 1392, 22:12 عصر
سلام
با کد زیر دیتاگریدویوی من پر میشه:
private void GetLettersKartablErjaha()
{
try
{
SqlConnection objconnection =
new SqlConnection("Data Source=.;Initial Catalog=Radman;" +
" User ID=sa;Password=***");
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
DataSet objDataSet = new DataSet();
objDataAdapter.SelectCommand = new SqlCommand();
objDataAdapter.SelectCommand.Connection = objconnection;
string cmd = @"SELECT tblErsali.ID AS EID,tblDaryafti.ID AS DID,tblErsali.LetterID,ReceiverUserName,Subject
,tabaghe,jahat,mohlat,Dayes,SendDate,Sendtime,bazg asht,peyrov
FROM tblErsali INNER JOIN tblDaryafti ON tblErsali.ID=tblDaryafti.LetterID
WHERE SenderUserName='" + Program.Username + "' AND Archived=0 AND Suspend=0 AND IsFonosht=0";
objDataAdapter.SelectCommand.CommandText = cmd;
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objconnection.Open();
objDataAdapter.Fill(objDataSet, "tblLetter");
objconnection.Close();
int i = 0;
foreach (DataRow r in objDataSet.Tables["tblLetter"].Rows)
{
gridview2.Rows.Add();
gridview2.Rows[i].Cells["ID2"].Value = r["DID"].ToString();
if (r["LetterID"].ToString() == "")
gridview2.Rows[i].Cells["LetterID2"].Value = r["EID"].ToString();
else
gridview2.Rows[i].Cells["LetterID2"].Value = r["LetterID"].ToString();
gridview2.Rows[i].Cells["Subject2"].Value = r["Subject"].ToString();
gridview2.Rows[i].Cells["Girande2"].Value = Program.chk.GetFullName(r["ReceiverUserName"].ToString());
gridview2.Rows[i].Cells["type2"].Value = r["tabaghe"].ToString();
gridview2.Rows[i].Cells["jahat2"].Value = r["jahat"].ToString();
gridview2.Rows[i].Cells["mohlat2"].Value = r["mohlat"].ToString() + " " + r["Dayes"].ToString();
// gridview2.Rows[i].Cells["Day2"].Value = r["Day"].ToString();
gridview2.Rows[i].Cells["senddate2"].Value = r["SendDate"].ToString();
gridview2.Rows[i].Cells["sendtime2"].Value = r["Sendtime"].ToString();
gridview2.Rows[i].Cells["bazgasht2"].Value = r["bazgasht"].ToString();
gridview2.Rows[i].Cells["peyrov2"].Value = r["peyrov"].ToString();
gridview2.Rows[i].Cells["varede2"].Value = "نامه داخلی";
i++;
}
cmd = @"SELECT tblDaryafti.ID AS DID,tblLetterSadere.ID AS LSID,tblLetterSadere.LetterID,SenderUserName
,Girande,Aghaye
,Subject,tabaghe,tblDaryafti.jahat,SendDate,Sendti me,
bazgasht,peyrov,IsRead
FROM tblLetterSadere INNER JOIN tblDaryafti
ON tblLetterSadere.ID = tblDaryafti.SadereLetterID
WHERE tblLetterSadere.SenderUserName='" + Program.Username + "' AND tblDaryafti.Archived=0 AND tblDaryafti.Suspend=0 AND tblDaryafti.IsFonosht=0";
objDataAdapter.SelectCommand.CommandText = cmd;
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objconnection.Open();
objDataAdapter.Fill(objDataSet, "tblLetter2");
objconnection.Close();
//i = 0;
foreach (DataRow r in objDataSet.Tables["tblLetter2"].Rows)
{
gridview2.Rows.Add();
gridview2.Rows[i].Cells["ID2"].Value = r["DID"].ToString();
gridview2.Rows[i].Cells["Shomaresabt1"].Value = r["DID"].ToString();
gridview2.Rows[i].Cells["LetterID2"].Value = r["LetterID"].ToString();
if (gridview2.Rows[i].Cells["LetterID2"].Value.ToString() == "")
gridview2.Rows[i].Cells["LetterID2"].Value = "توسط دبیرخانه شماره نشده";
gridview2.Rows[i].Cells["Subject2"].Value = r["Subject"].ToString();
gridview2.Rows[i].Cells["Girande2"].Value = r["Girande"].ToString() + " - " + r["Aghaye"].ToString();
gridview2.Rows[i].Cells["type2"].Value = r["tabaghe"].ToString();
gridview2.Rows[i].Cells["jahat2"].Value = r["jahat"].ToString();
gridview2.Rows[i].Cells["mohlat2"].Value = "-";
// gridview2.Rows[i].Cells["Day2"].Value = r["Day"].ToString();
gridview2.Rows[i].Cells["senddate2"].Value = r["SendDate"].ToString();
gridview2.Rows[i].Cells["sendtime2"].Value = r["Sendtime"].ToString();
gridview2.Rows[i].Cells["bazgasht2"].Value = r["bazgasht"].ToString();
gridview2.Rows[i].Cells["peyrov2"].Value = r["peyrov"].ToString();
gridview2.Rows[i].Cells["varede2"].Value = "صادره از شرکت";
i++;
}
}
catch (Exception)
{
MessageBox.Show("در ارتباط با بانک اطلاعاتی مشکلی پیش آمده است", "خطا درون بانک اطلاعاتی", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
gridview2.Sort(gridview2.Columns["SendDate2"], ListSortDirection.Descending);
}
بعد توی رویداد دوبار کلیک دیتاگریدویو این رو نوشتم:
private void gridview2_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
Program.LetterID = Convert.ToInt32(gridview2.CurrentRow.Cells["ID2"].Value);
MessageBox.Show(Program.LetterID.ToString());
MessageBox.Show(gridview2.CurrentRow.Cells["varede2"].Value.ToString());
if (gridview2.CurrentRow.Cells["varede2"].Value.ToString() == "صادره از شرکت")
{
this.Hide();
frmViewLetter f = new frmViewLetter("صادره از شرکت");
f.ShowDialog();
this.Show();
}
else
{
this.Hide();
frmViewLetter f = new frmViewLetter("نامه داخلی-ارسالی");
f.ShowDialog();
this.Show();
}
}
روی سطری که فیلد مورد نظرم نوشته " صادره از شرکت " کلیک می کنم برام می نویسه " نامه داخلی " ولی نباید اینجوری باشه. نمی دونم چشه!!!
اینم عکس:
113903
با کد زیر دیتاگریدویوی من پر میشه:
private void GetLettersKartablErjaha()
{
try
{
SqlConnection objconnection =
new SqlConnection("Data Source=.;Initial Catalog=Radman;" +
" User ID=sa;Password=***");
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
DataSet objDataSet = new DataSet();
objDataAdapter.SelectCommand = new SqlCommand();
objDataAdapter.SelectCommand.Connection = objconnection;
string cmd = @"SELECT tblErsali.ID AS EID,tblDaryafti.ID AS DID,tblErsali.LetterID,ReceiverUserName,Subject
,tabaghe,jahat,mohlat,Dayes,SendDate,Sendtime,bazg asht,peyrov
FROM tblErsali INNER JOIN tblDaryafti ON tblErsali.ID=tblDaryafti.LetterID
WHERE SenderUserName='" + Program.Username + "' AND Archived=0 AND Suspend=0 AND IsFonosht=0";
objDataAdapter.SelectCommand.CommandText = cmd;
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objconnection.Open();
objDataAdapter.Fill(objDataSet, "tblLetter");
objconnection.Close();
int i = 0;
foreach (DataRow r in objDataSet.Tables["tblLetter"].Rows)
{
gridview2.Rows.Add();
gridview2.Rows[i].Cells["ID2"].Value = r["DID"].ToString();
if (r["LetterID"].ToString() == "")
gridview2.Rows[i].Cells["LetterID2"].Value = r["EID"].ToString();
else
gridview2.Rows[i].Cells["LetterID2"].Value = r["LetterID"].ToString();
gridview2.Rows[i].Cells["Subject2"].Value = r["Subject"].ToString();
gridview2.Rows[i].Cells["Girande2"].Value = Program.chk.GetFullName(r["ReceiverUserName"].ToString());
gridview2.Rows[i].Cells["type2"].Value = r["tabaghe"].ToString();
gridview2.Rows[i].Cells["jahat2"].Value = r["jahat"].ToString();
gridview2.Rows[i].Cells["mohlat2"].Value = r["mohlat"].ToString() + " " + r["Dayes"].ToString();
// gridview2.Rows[i].Cells["Day2"].Value = r["Day"].ToString();
gridview2.Rows[i].Cells["senddate2"].Value = r["SendDate"].ToString();
gridview2.Rows[i].Cells["sendtime2"].Value = r["Sendtime"].ToString();
gridview2.Rows[i].Cells["bazgasht2"].Value = r["bazgasht"].ToString();
gridview2.Rows[i].Cells["peyrov2"].Value = r["peyrov"].ToString();
gridview2.Rows[i].Cells["varede2"].Value = "نامه داخلی";
i++;
}
cmd = @"SELECT tblDaryafti.ID AS DID,tblLetterSadere.ID AS LSID,tblLetterSadere.LetterID,SenderUserName
,Girande,Aghaye
,Subject,tabaghe,tblDaryafti.jahat,SendDate,Sendti me,
bazgasht,peyrov,IsRead
FROM tblLetterSadere INNER JOIN tblDaryafti
ON tblLetterSadere.ID = tblDaryafti.SadereLetterID
WHERE tblLetterSadere.SenderUserName='" + Program.Username + "' AND tblDaryafti.Archived=0 AND tblDaryafti.Suspend=0 AND tblDaryafti.IsFonosht=0";
objDataAdapter.SelectCommand.CommandText = cmd;
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objconnection.Open();
objDataAdapter.Fill(objDataSet, "tblLetter2");
objconnection.Close();
//i = 0;
foreach (DataRow r in objDataSet.Tables["tblLetter2"].Rows)
{
gridview2.Rows.Add();
gridview2.Rows[i].Cells["ID2"].Value = r["DID"].ToString();
gridview2.Rows[i].Cells["Shomaresabt1"].Value = r["DID"].ToString();
gridview2.Rows[i].Cells["LetterID2"].Value = r["LetterID"].ToString();
if (gridview2.Rows[i].Cells["LetterID2"].Value.ToString() == "")
gridview2.Rows[i].Cells["LetterID2"].Value = "توسط دبیرخانه شماره نشده";
gridview2.Rows[i].Cells["Subject2"].Value = r["Subject"].ToString();
gridview2.Rows[i].Cells["Girande2"].Value = r["Girande"].ToString() + " - " + r["Aghaye"].ToString();
gridview2.Rows[i].Cells["type2"].Value = r["tabaghe"].ToString();
gridview2.Rows[i].Cells["jahat2"].Value = r["jahat"].ToString();
gridview2.Rows[i].Cells["mohlat2"].Value = "-";
// gridview2.Rows[i].Cells["Day2"].Value = r["Day"].ToString();
gridview2.Rows[i].Cells["senddate2"].Value = r["SendDate"].ToString();
gridview2.Rows[i].Cells["sendtime2"].Value = r["Sendtime"].ToString();
gridview2.Rows[i].Cells["bazgasht2"].Value = r["bazgasht"].ToString();
gridview2.Rows[i].Cells["peyrov2"].Value = r["peyrov"].ToString();
gridview2.Rows[i].Cells["varede2"].Value = "صادره از شرکت";
i++;
}
}
catch (Exception)
{
MessageBox.Show("در ارتباط با بانک اطلاعاتی مشکلی پیش آمده است", "خطا درون بانک اطلاعاتی", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
gridview2.Sort(gridview2.Columns["SendDate2"], ListSortDirection.Descending);
}
بعد توی رویداد دوبار کلیک دیتاگریدویو این رو نوشتم:
private void gridview2_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
Program.LetterID = Convert.ToInt32(gridview2.CurrentRow.Cells["ID2"].Value);
MessageBox.Show(Program.LetterID.ToString());
MessageBox.Show(gridview2.CurrentRow.Cells["varede2"].Value.ToString());
if (gridview2.CurrentRow.Cells["varede2"].Value.ToString() == "صادره از شرکت")
{
this.Hide();
frmViewLetter f = new frmViewLetter("صادره از شرکت");
f.ShowDialog();
this.Show();
}
else
{
this.Hide();
frmViewLetter f = new frmViewLetter("نامه داخلی-ارسالی");
f.ShowDialog();
this.Show();
}
}
روی سطری که فیلد مورد نظرم نوشته " صادره از شرکت " کلیک می کنم برام می نویسه " نامه داخلی " ولی نباید اینجوری باشه. نمی دونم چشه!!!
اینم عکس:
113903