كيفية تغيير لون خلية في الداتا قريد فيو ضمن شرط معين
مثلا عند اضافة العمر و كان العمر اقل من 18 مثلا يصبح لون العمر احمر
للفائدة وجدت الاجابة
في الحدث CellFormatting الخاص بال DataGridVeiw
نضع هذا الكود
private void dgvNames_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
foreach (DataGridViewRow Myrow in dgvNames.Rows)
{
if (Convert.ToInt32(Myrow.Cells[1].Value) < 18) // Or your condition
{
Myrow.Cells[1].Style.ForeColor = Color.Red;
}
}
}مع العلم انك تستطيع تغيير الشرط بما يلائمك و تغيير رتبة الخانة التي تريد تطبيق الشرط عليها
تم تعديل هذه المشاركة بواسطة dabas في 7 سبتمبر 2014 في 23:36
dabas كتب:
للفائدة وجدت الاجابة
في الحدث CellFormatting الخاص بال DataGridVeiw
نضع هذا الكود
private void dgvNames_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { foreach (DataGridViewRow Myrow in dgvNames.Rows) { if (Convert.ToInt32(Myrow.Cells[1].Value) < 18) // Or your condition { Myrow.Cells[1].Style.ForeColor = Color.Red; } } }
رائع
جزاك الله خير dabas واطال الله في عمرك
وعندي سؤال إضافي
نفس هذا الكود هل يمكنني أن أقوم بتغيير اللون حسب عدد الذين تقل أعمارهم عن 18
مثلا: إذا كان من يقل عمره عن 18 شخص واحد فقط نقوم بتغيير اللون إلى الأحمر، وإذا كان شخصيا نغيره إلى الأصفر وإذا كان 3 نغيره إلى الأخضر
هل بالإمكان عمل هذا؟
هل يمكنني أن أقوم بتغيير اللون حسب عدد الذين تقل أعمارهم عن 18
مثلا: إذا كان من يقل عمره عن 18 شخص واحد فقط نقوم بتغيير اللون إلى الأحمر، وإذا كان شخصيا نغيره إلى الأصفر وإذا كان 3 نغيره إلى الأخضر
هل بالإمكان عمل هذا؟
realy8 كتب:هل يمكنني أن أقوم بتغيير اللون حسب عدد الذين تقل أعمارهم عن 18
مثلا: إذا كان من يقل عمره عن 18 شخص واحد فقط نقوم بتغيير اللون إلى الأحمر، وإذا كان شخصيا نغيره إلى الأصفر وإذا كان 3 نغيره إلى الأخضر
هل بالإمكان عمل هذا؟
والله حاليا لا املك الجواب لكن ساحاول و اوافيك بالامر
عندي فكرة مبدئة حاول تطبيقها ريثما انجز ما علي ... لانني مضغوط و خصوصا ان الكهرباء عندنا تاتي فقط 6 ساعات في اليوم
الفكرة :
--- هي تعريف متغير رقمي علي مستوى المشروع يقوم بتخزين عدد الذين تقل اعمارهم عن 18 و تستخدم هذا المتغير في الشرط الذي ستكتبه
تم تعديل هذه المشاركة بواسطة dabas في 26 أكتوبر 2014 في 15:16
اشكرك عزيزي، لقد جربت كثيرا ولم ينفع معي، وذلك لأنني لا أعرف شيء عن الـ DataGridView والتكرار فيه والأعمدة والصفوف والخلية وغيرها
كل ما وصلت له بخصوص طلبي هو التالي
أولا: شرح الفكرة:
لدي غرف محجوزة أريد تسكين العملاء فيها ووضعت لها DataGirdView لعرض بياناتها،،، وهي على يمين الصورة
ولدي زبائن مسجلين ووضعت لهم DataGirdView لعرض بياناتهم،،، وهي على يسار الصورة
ولدي DataGirdView لعرض وتخزين العملاء الذين تم تسكينهم في الغرف،،، وهي في منتصف الصورة
=======================
ثانيا: ما قمت به والكود الخاص المستخدم:
قمت بتلوين كل زبون تم تسكينه في أحد الغرف عن طريق هذا الكود
{
{ Myrow.Cells[e.ColumnIndex].Style.BackColor = Color.Red; }
كل غرفة قد يسكن فيها أكثر من شخص واحد، فقمت بعمل TextBox ووضعت فيها عدد الأسرة في كل غرفة، وقمت بعمل متغير رقمي لمعرفة عدد الأشخاص الذين سكنوا الغرف فإن تساوى عدد المسكنين في الغرفة بالعدد الموجود في TextBox يظهر لي بأن الغرفة ممتلئة، وقد عملت هذا بالكود التالي
int count1 = 0;
foreach (DataGridViewRow rw in DGVRoomCustomer.Rows)
{
if (rw.Cells[2].Value != null && rw.Cells[3].Value != null)
{
if (txtRoom.Text == (string)rw.Cells[2].Value.ToString() && txtHotel.Text == (string)rw.Cells[3].Value.ToString())
{
count1++;
txtCount.Text = Convert.ToInt32(count1).ToString();
if (txtMax.Text == Convert.ToInt32(count1).ToString())
{
MessageBox.Show("هذه الغرفة ممتلئة", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}المشكلة التي أعاني منها هو أنني أريد أن يتم تلوين كل سطر بلون مختلف حسب التكرار من غير أن أقوم بتحديد السطر
حيث إذا كان عندي 20 زبوننا وأريد أن أسكنهم في ثلاثة فنادق، سيتم تلوين الزبون المسكن في الفندق الأول باللون الأحمر، ومن ثم سأسكنهم من جديد في الفندق الثاني لكن لن أعرف من هو الشخص الذي قمت بتسكينه للمرة الثانية من غيره، وعند التسكين في الفندق الثالث ستزيد المشكلة حيث لن أعرف هل هذا الشخص قمت بتسكينه في الفندق الثاني أو قمت بتسكينه في الفندق الثالث
تم تعديل هذه المشاركة بواسطة realy8 في 29 أكتوبر 2014 في 08:38
الصراحة اخي انا ما فهمت الفكرة احنا اهل غزة لسا بدائيين ههههههههههههههه مش فاهم قصة الفنادق و التسكين بصراحة
أهم ما عندنا هو المحاولة :D
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…