PDA

View Full Version : سوال: بررسی و نمایش اطلاعات برحسب رنگ بندی



davidrobert
شنبه 28 مهر 1397, 20:54 عصر
سلام و خسته نباشید بنده سعی بر نمایش قبر ها بر حسب رنگ ها رو دارم نشان بدم اگه طبقه اول دفن شد این رنگ بشه قبر یا اول دوم دفن بود این رنگ بشه. این فرم پایین که مشاهده میکنید حکم رنگ بندی بر حسب وضعیت و همین طور نمایش وضعیت قبر با رنگ مورد نظر هستش.
149108
دستورات که نوشتم.

void AddList_Tomp()
{
int a = Convert.ToInt32(Txt_SM_Gete.Text);
DataTable dt = sabtMotovafyGabzPeshAndSanadGabr.List_Tomp(a);
if (dt.Rows.Count > 0)
{
flowLayoutPanel1.Controls.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
Button b = new Button();
string shomare = dt.Rows[i][P_Sabt_Motovafy_Gabz_Pesh_And_Sanad_Gabr.SM_Shomar e].ToString();
DataTable DtColor =
sabtMotovafyGabzPeshAndSanadGabr.List_Tomp_Count(a , Convert.ToInt32(shomare));
for (int j = 0; j < DtColor.Rows.Count; j++)
{
int number = Convert.ToInt32(DtColor.Rows[j][P_Sabt_Motovafy_Gabz_Pesh_And_Sanad_Gabr.SM_Tabage].ToString());
string live = DtColor.Rows[j][P_Sabt_Motovafy_Gabz_Pesh_And_Sanad_Gabr.SM_Vazeye t].ToString();
int one = 1;
int two = 2;
int there = 3;
int Color1 = default(int);
int Color2 = default(int);
int Color3 = default(int);
if (one==number)
{
Color1 = one;
}
if (two == number)
{
Color2 = two;
}
if (there == number)
{
Color3 = there;
}
if (number == Color1)
{
b.BackColor = Color.Green;
}
if (number == Color2)
{
b.BackColor = Color.Yellow;
}
if (number == Color3)
{
b.BackColor = Color.Red;
}
if (live == "FALSE")
{
b.BackColor = Color.Blue;
}
if (number == Color1 && number == Color2)
{
b.BackColor = Color.Orange;
}
if (number == Color1 && number == Color3)
{
b.BackColor = Color.Aquamarine;
}
if (number == Color1 && number == Color2 && number == Color3)
{
b.BackColor = Color.RoyalBlue;
}
if (number == Color1 && number == Color2 && live == "FALSE")
{
b.BackColor = Color.Chartreuse;
}
if (number == Color1 && number == Color3 && live == "FALSE")
{
b.BackColor = Color.White;
}
if (number == Color2 && number == Color3 )
{
b.BackColor = Color.Olive;
}
if (number == Color2 && number == Color3 && live == "FALSE")
{
b.BackColor = Color.Silver;
}
if ( number == Color3 && live == "FALSE")
{
b.BackColor = Color.Silver;
}
}
b.Text = shomare;
b.Width = 100;
b.Height = 50;
b.Tag = shomare;
b.Click += Button_Click;
flowLayoutPanel1.Controls.Add(b);
}
}
else if (dt.Rows.Count == 0)
{
flowLayoutPanel1.Controls.Clear();
}
flowLayoutPanel1.AutoScroll = true;
}

دستورات بنده یه ایراد داره وقتی حلقه میاد پایین مقدار

int Color1 = default(int);
int Color2 = default(int);
int Color3 = default(int);


خالی میشه و مقدار جدید میگیره به همین خطار رنگ بندی در قسمت نمایش قبر رو اشتباه نشان میده ماندم به چه صورت شرط بنویسم که اول برای هر قبر اول بیام شماره هاش بگیرم و اگه زنده بود که مقدار False هستش رو بگیرم وقتی برای هر قبر مقدار گرفتم رنگ روی اون قبر قرار بدم یا روی همان دکمه ولی تو شرط نویسی گیر کردم. مغزم نمیکشه چی رو جا به جا کنم ممنون میشم اگه نظری دارید به بنده بگید تا من انجام بدم .
فقط شماره قبر مهم و بر حسب شماره قبر نوع دفن رو رنگ بندی انتخاب کردم که بر حسب همین رنگ بندی قبر ها رنگ بگیرن تا وضعیت هر قبر معلوم بشه.

davidrobert
یک شنبه 29 مهر 1397, 10:03 صبح
دوستان کسی نمیدونه چطوری من تو هر شماره قبر بیام اول مقادیر بگیرم و داخل int نگردارم و رنگ اون شماره قبر بر حسب وضعیت دفن یا زنده بودن در اون قسمت نمایش بدم قرار گیری رنگ اون شماره قبر تمام شد برای قبری بعدی هم بیام برحسب نوع دفن رنگ بندی قرار بیدم. هرچی فکر میکنم به ذهنم نمیرسه چطوری بر حسب شماره قبر بیام تو هر شماره قبر اول تعداد نفرات ببینم و دوم بیام برحسب نوع دفن یا طرف پیش خرید کرده و نمرده بیام قبرش رو نشان بیدم. بر حسب رنگ تو هربار حلقه مقدار قبلی از بین میره ولی میخوام تو هر شماره مقدار نگرداره و رنگ قرار بده و بعد از بین بیره مقدار و تو قبر بعدی دوباره رنگ بندی اش نشان بیده و بعد از بین بره و شماره بعدی بیاد شماره قبر بگیره همین طور تا بی نهایت.