04-01-21, 02:29 AM
(03-01-21, 07:18 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاتهشكرا لردك استاذي الفاضل
اخي الكريم
هذا الكود للداتاغرايد افترضت فيه 3 اعمدة وحيث اننا نقف او نحتار الصف الحالي
نحول العمود الاول وهو التاريخ من نص الى تاريخ ونضعه في متغير ونحول العمود الثاني الذي هو عدد اشهر الاضافة من نص الى نوع (int) ونضعه في متغير
ثم نسند للعمود الثالث الناتج من قيمة المتغير الاول وهو التاريخ مضافا اليه عدد الاشهر الموجودة في المتغير الرقمي العمود الثاني
كود :
DateTime DD;
DD = Convert.ToDateTime(dataGridView1.CurrentRow.Cells[0].Value);
int VV;
VV= int.Parse(dataGridView1.CurrentRow.Cells[1].Value.ToString());
dataGridView1.CurrentRow.Cells[2].Value= DD.AddMonths(VV).ToString("dd/MM/yyyy");
حولت افهم الكود واضعه ولكن خبرتى لا تكفى مع العلمان الاضفه تتم عن طريق دتا جرد فيو كما واضح فى الصوره
ارجو دمجه فى هذا الكود
كود :
void add_Penalty()
{
if (DGV_Penalty.CurrentRow != null)
{
DataGridViewRow dgvRow = DGV_Penalty.CurrentRow;
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.Text;
string Save = "";
if (dgvRow.Cells[2].Value == DBNull.Value)//Insert
{
Save = "INSERT INTO TB_Penalty(ID,Nam,Of_Month,Days,Number,Start,Fin,Totl,Mon_th,Dat,Emp_ID)VALUES (@ID,@Nam,@Of_Month,@Days,@Number,@Start,@Fin,@Totl,@Mon_th,@Dat,@Emp_ID)";
Cmd = new SqlCommand(Save, DB.Con);
Cmd.Parameters.AddWithValue("@ID", DB.GetMaxIDColumn("TB_Penalty", "ID").ToString());
}
else //update
{
Save = "UPDATE TB_Penalty SET Nam = @Nam,Of_Month = @Of_Month,Days = @Days,Number = @Number,Start = @Start,Fin = @Fin,Totl = @Totl,Mon_th = @Mon_th,Dat = @Dat,Emp_ID = @Emp_ID WHERE ID = @ID";
Cmd = new SqlCommand(Save, DB.Con);
Cmd.Parameters.AddWithValue("@ID", Convert.ToInt32(dgvRow.Cells[2].Value));
}
Cmd.Parameters.AddWithValue("@Nam", dgvRow.Cells[3].Value).DbType = DbType.Int32;
Cmd.Parameters.AddWithValue("@Of_Month", dgvRow.Cells[4].Value).DbType = DbType.Int32;// دا حقل عدد لشهور المطلوب اضافتها على التاريخ
Cmd.Parameters.AddWithValue("@Days", dgvRow.Cells[5].Value).DbType = DbType.Int32;
Cmd.Parameters.AddWithValue("@Number", dgvRow.Cells[6].Value).DbType = DbType.Int32;
Cmd.Parameters.AddWithValue("@Start", dgvRow.Cells[7].Value).DbType = DbType.Date;// هذا الحقل به تاريخ البدايه الذي يتم العمل عليه
Cmd.Parameters.AddWithValue("@Fin", dgvRow.Cells[8].Value).DbType = DbType.Date;// هذا الحقل الذي يظهر به الناتج
Cmd.Parameters.AddWithValue("@Totl", dgvRow.Cells[9].Value).DbType = DbType.Decimal;
Cmd.Parameters.AddWithValue("@Mon_th", dgvRow.Cells[10].Value).DbType = DbType.Decimal;
Cmd.Parameters.AddWithValue("@Dat", DateTime.Now.ToString("dd/MM/yyyy"));
Cmd.Parameters.AddWithValue("@Emp_ID", Txt_Emp_ID.Text.ToString());
DB.open(); Cmd.ExecuteNonQuery(); DB.close();
}
}