من میخوام بگم که اگر مقادیر یک ستون از گرید برابر با "سلام"بود اخطار ظاهر بشه (اینو بلدم) حالا میخوام بگم اگه مثلأ برابر با "سلام"و "خوبی"و "بله" بود اخطار ظاهر بشه
چی کار کنم
یکی کمک کنه
ممنون
من میخوام بگم که اگر مقادیر یک ستون از گرید برابر با "سلام"بود اخطار ظاهر بشه (اینو بلدم) حالا میخوام بگم اگه مثلأ برابر با "سلام"و "خوبی"و "بله" بود اخطار ظاهر بشه
چی کار کنم
یکی کمک کنه
ممنون
من از این
View_Temp.Rows[0].Cells[2].Value.ToString().Contains(Txt_Search.Text).ToStri ng()
استفاده می کنم
نه با این نشد
یکی یه جواب بهتر نداره ؟
یکی کمک کنه
میخوام بگم مثلأ اگه مقدار تکست باکس یا 1 بود یا 2 بود شرط برقرار بشه
ببینید قضیه از این قراره که ما یک کمبوباکس داریم یک دکمه و یک گرید
وقتی کاربر یک آیتم از کمبو انتخاب کنه و بر روی دکمه کلیک کنه اون آیتم به گرید اضافه میشه
حالا من میخوام زمانی که کاربر یک آیتم به گرید اضافه کرد نتونه یک سری دیگه از آیتم ها رو انتخاب کنه و فقط آیتم هایی که واسش تعریف شده مجاز بشه
در واقع یک سری از آیتم ها با هم نباید انتخاب ببشن
اگر اولی رو بلد هستی پس با else میتونی بقیه رو هم چک کنی.
الان من این کد و نوشتم اما وقتی خطا رو میده بعدش هم آیتم رو اضافه می کنه که نباید این کارو بکنه
کد اضافه کردن آیتم به گرید :
DataRow dr;
dr = dt.NewRow();
dr["city"] = comboBox1.Text;
dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
اینم کدی که آقای khokhan قراردادن
for (var i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() == "تهران")
{
if (comboBox1.SelectedItem.ToString() == "قم")
{
MessageBox.Show("record already exist");
}
return;
}
}
ببینید من یک کمبوباکس دارم با آیتم های زیر
تهران
مشهد
یزد
رشت
اصفهان
قم
شیراز
و...
حالا میخوام اگه کاربر مثلأ تهران رو انتخاب کرد و به گرید اضافه کرد مثلأ نتونه قم و یزد رو هم اضافه کنه ولی بقیه رو بتونه
نکته : تعداد آیتم های کمبو ده تا بیشتر نیست و همیشه هم ثابته
............................................. چرا ؟؟؟؟؟؟؟مگه قم و یزد چه گناهی دارند که نبایستی اضافه بشن
....................................
if (dataGridView1.Rows.Count > 0)
{
for (var i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() == "تهران")
{
if (comboBox1.SelectedItem.ToString() == "قم")
MessageBox.Show("record already exist");
return;
}
باید گروهبندی کنی و شهرهایی که نمیتونند با هم انتخاب شوند را در یک گروه قرار بدی. طبق مثال خودت تهران و قم و یزد در یک گروه(شماره گروه یکسان)
دفعه اول همه شهرها لود میشن. وقتی یک شهر انتخاب و به گرید اضافه شد گروه شهرهایی که به گرید اضافه شدن رو بدست میاری و بعد اون شهرهایی که در این گروه ها نیستند رو بدست میاری:
class City
{
string name;
public string Name
{
get { return name; }
set { name = value; }
}
int group;
public int Group
{
get { return group; }
set { group = value; }
}
bool added;
public bool Added
{
get { return added; }
set { added = value; }
}
}
List<City> cities;
private void Form1_Load(object sender, EventArgs e)
{
cities = new List<City>();
cities.Add(new City() { Name = "qom", Group = 1 });
cities.Add(new City() { Name = "tehran", Group = 1 });
cities.Add(new City() { Name = "yazd", Group = 1 });
cities.Add(new City() { Name = "kerman", Group = 2 });
// add other cites
comboBox1.DataSource = cities;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Group";
}
در جایی که به گریدویو اضافه میکنی:
City c = comboBox1.SelectedItem as City;
dataGridView2.Rows.Add(c.Name);
c.Added = true;
List<int> addedGroup = cities.Where(i => i.Added).Select(i => i.Group).ToList();
comboBox1.DataSource = cities.Where(i => !addedGroup.Contains(i.Group)).ToList();
آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 01 خرداد 1393 در 14:45 عصر