1 ضمیمه
به چه صورت بعضی فیلد ها DataGrid های لایت شوند ؟
سلام دوستان.
من یک برنامه نوشتم اطلاعاتی از یک فرد ثبت میکنه , مثلا یک کومبو باکس اطلاعات استخدامی مثل دائم بودن کارمند یا قراردادی بودن آن ثبت میکنه مثل شکل ضمیمه شده. من میخوام , درون دیتا گرید ویو تمام کسانی که نوع استخدامیشون دائم بودن های لایت شه با یک رنگ خاص از بقیه.
من دقیقا نمیدونم چه کدی باید اضاف کنم که این عملیات رو برای من انجام بده. اگر امکانش هست من رو راهنمایی کنید .
مرسی.
ضمیمه 99738
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
در یک متد با استفاده از حلقه رنگ سلول مورد نظر رو تغییر بدید. در رویداد SelectedIndexChanged کمبوباکس بر حسب مقدار انتخابی از کمبوباکس متد رو فراخوانی کنید.
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Color col = Color.Empty;
string noeEstekhdam = null;
switch (comboBox1.SelectedItem.ToString())
{
case "دائمی":
col = Color.GreenYellow;
noeEstekhdam = "daem";
break;
case "قراردادی":
col = Color.YellowGreen;
noeEstekhdam = "garardadi";
break;
case "روزمزدی":
col = Color.Orange;
noeEstekhdam = "roozmozd";
break;
}
this.dataGridView1.ClearSelection();
this.PaintRows(col, noeEstekhdam);
}
private void PaintRows( Color backColor , string noeEstekhdam)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells["estekhdam"].Value.ToString() == noeEstekhdam)
{
row.DefaultCellStyle.BackColor = backColor;
}
else
{
row.DefaultCellStyle.BackColor = Color.WhiteSmoke;
}
}
}
2 ضمیمه
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
مرسی دوست من از کمکتون. قسمتی از کد خطا میده میگه نمیتونه پارامتر پیدا کنه .
ضمیمه 99749ضمیمه 99750
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
توی خط if (row.Cells["estekhdam"].Value.ToString() == noeEstekhdam)
به اسم سلول خطا داده. اسم سلول رو برحسب اسم و یا اندیس ستون مربوط به نوع استخدام توی گریدویو اصلاح کنید.
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
کسی از دوستان نیست که مارو یاری کنه ؟؟
من دوباره کاری که میخوام صورت بگیره میگم.
من میخوام هرچی اطلاعات با نام " دائم " درون دیتا گرید ویو هست های لایت بشه.
لطفا به عکسهای بالا توجه کنید ، مخصوصا طریق ثبت اطلاعات درون دیتا بیس.
مرسی:(
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
ساده ترین روش:
تو رویداد DataBiningCompelet دیتاگرید این کد رو بنویسید
for (int j = 0; j <= dataGridView1.RowCount - 1; j++)
{
if (dataGridView1[0,j].Value.ToString() == "دائم")
dataGridView1[0, j].Style.BackColor = Color.Red;
}
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
کد بالا فقط رنگ سلول هایی که حاوی متن مورد نظر بود رو تغییر می داد،
این کد رنگ سطر حاوی متن مورد نظر رو تغییر می ده:
for (int j = 0; j <= dataGridView1.RowCount - 1; j++)
{
if (dataGridView1[1,j].Value.ToString() == "دائم")
dataGridView1.Rows[j].DefaultCellStyle = new DataGridViewCellStyle()
{
BackColor = Color.Red
};
}
1 ضمیمه
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
سلام دوست من ، ممنون .
خطا داد ضمیمه میکنم.
ضمیمه 99830
1 ضمیمه
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
نقل قول:
نوشته شده توسط
rayson
سلام دوست من ، ممنون .
خطا داد
دیتا گرید رنگی
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
نقل قول:
نوشته شده توسط
rayson
سلام دوست من ، ممنون .
خطا داد ضمیمه میکنم.
ضمیمه 99830
شما تو داده های داخل گرید ویو ، نوع استخدام رو چی تعریف کردید منظورم نوع عددی هست یا عبارت رشته ای؟
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
سلام . مرسی اما بازم جواب نداد .
برنامه خودم میگذارم برایم بی زحمت این تکه کد اضاف کنید .
من میخوام در تب دوم برنامه، کومبو باکس ،نوع استخدام " دائمی " که درج میشه درون گریدویو رنگی نشون بدش .
user and pw :admin
http://uploadtak.com/images/h6894_myTT.zip
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
نقل قول:
نوشته شده توسط
rayson
سلام دوست من ، ممنون .
خطا داد ضمیمه میکنم.
ضمیمه 99830
خب عزیز من شما باید به جای 1 عدد 5 می ذاشتی
1 ضمیمه
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
اشتباه دوم نوشتی "دائم" اما توی جدول "دائمی"
یه نمونه تو جدول driver وارد کن تا خطای null بودن هم نگیره یا شرط بزار مثل این:
for (int j = 0; j <= DGV_driver.RowCount - 1; j++)
{
if (DGV_driver[5, j].Value != null)
{
if( DGV_driver[5, j].Value.ToString() == "دائمی")
DGV_driver.Rows[j].DefaultCellStyle = new DataGridViewCellStyle()
{
BackColor = Color.Red
};
}
}
اگر بازم نتونستی برنامه رو درست کردم بگو تا برات بزارم
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
ممنون دوست من .
با راهنمایی شما دوستان درست شد.
حالا فقط یک خواهش داشتم اگر امکانش هست خط ها را یکی یکی بگید دقیقا عملکردش چه چیزی هست.
ممنون.
نقل قول: به چه صورت بعضی فیلد ها ( دیتا گرید ویو ) های لایت شوند ؟
نقل قول:
نوشته شده توسط
rayson
ممنون دوست من .
با راهنمایی شما دوستان درست شد.
حالا فقط یک خواهش داشتم اگر امکانش هست خط ها را یکی یکی بگید دقیقا عملکردش چه چیزی هست.
ممنون.
توضیح چندانی نداره: شرط اول چک میکنه ستون مربوط به نوع استخدام خالی نباشه
شرط دوم چک می کنه کجا ستون مربوط به نوع استخدام برابر دائمی هست
بعد میاد برای سلول های سطر جاری یه استایل جدید ایجاد می کنه