PDA

View Full Version : سوال در مورد Data Grid Wive



abolfazlkh
شنبه 02 مهر 1390, 13:45 عصر
سلام دوستان من یک کمبو باکس و یک تکس باکس و یک دیتا گرید دارم که تکس باکس من تکس باکس سرچ است می خواستم بدانم که چطور می شه که وقتی ایتمی از کمبو باکس را انتخاب می کنم و داخل تکس باکس بر اساس ان سرچ می کنم تنها اتم هایی که جزء سرچ من بوده داخا تکس باکس نمایش دهد و اضافه دیتا گید دیگر نمایش ندهد

electro_esma
شنبه 02 مهر 1390, 13:56 عصر
سلام
من سوالتو دقیقا متوجه نشدم
یعنی تکست باکست برای نمایش جواب هست ؟
اگه این طوره بگو تا راهنماییت کنم

modern_amin
شنبه 02 مهر 1390, 14:03 عصر
باید اول بفهمی که تو کومبوباکس کدوم رو انخاب کرده ( براساس متن و ایندکس و ...) و بعد تکست باکس و دیتاگرید رو خالی کنی
بعد میتونی کد select رو تو تکست باکس بنویسی و مقدارش و تو دیتاگرید نشون بدی

sara_aryanfar
شنبه 02 مهر 1390, 14:07 عصر
نیازی به خالی کردن دیتا گرید نیست خوب وقتی شما اطلاعات رو واکشی می کنین دیتا گرید تنها اونایی رو نشون میده که شما مد نظرتون هست البته اگر دیتا گرید رو به صورت ویزارد به دیتا بیست وصل نکرده باشی

modern_amin
شنبه 02 مهر 1390, 14:18 عصر
نیازی به خالی کردن دیتا گرید نیست خوب وقتی شما اطلاعات رو واکشی می کنین دیتا گرید تنها اونایی رو نشون میده که شما مد نظرتون هست البته اگر دیتا گرید رو به صورت ویزارد به دیتا بیست وصل نکرده باشی

نمیدونم شما چطوری اطلاعات رو پر مکنید ولی
وقتی اطلاعات جدید تو دیتاگرید به این صورت ریخته میشه که:
سطر اول جدید جایگزین سطر اول قدیم میشه به همین ترتیب
سطر دوم جدید جایگزین سطر دوم قدیم میشه و...

و اگر مثلا سطر 3 جدید وجود نداشته باشه و سطر3قدیم باشه
پس دیتاگرید غلط در میاد که؟؟؟
بنابراین نیازه DataGrid.Rows.Clear انجام شه

sara_aryanfar
شنبه 02 مهر 1390, 14:29 عصر
من اینطوری پر می کنم
SqlDataAdapter daobject = new SqlDataAdapter("select * from addbook where name='"+textBox3.Text+"'",conobject);
DataTable dtobject = new DataTable();
conobject.Open();
daobject.Fill(dtobject);
conobject.Close();
dataGridView1.DataSource = dtobject;
در وحله اول در دیتا گرید هیچ چیزی نمایش داده نمیشه بعد بر حسب نام فیلدی که من ازش می خوام تعداد رکوردهای موجود رو نشون میده نه همه دیتابیس رو

abolfazlkh
شنبه 02 مهر 1390, 14:35 عصر
دوستان من یک کمبو باکس و یک تکس باکس و یک دیتا گرید دارم که تکس باکس من تکس باکس سرچ است می خواستم بدانم که چطور می شه که وقتی ایتمی از کمبو باکس را انتخاب می کنم و داخل تکس باکس بر اساس ایتم انتخاب شده از کمبو باکس سرچ می کنم تنها ایتم هایی که جزء سرچ من بوده داخا دیتا گرید نمایش دهد

electro_esma
شنبه 02 مهر 1390, 14:41 عصر
شما باید کانکشن استرینگ خود رو به این حالت تنظیم
select * from table_name where name=combobox.text
یهنی همه اونهایی رو بگرد که اسمشون شبیه اونی که من داخل کمبوباکس انتخاب کردم.
بعد نوبت به دیتا گرید می رسه.
dgw.AutoGenerateColumns = true;
dgw.DataSource = dataset_name;
dgw.DataMember="table_name";

که dgw همان دیتا گرید شماست

sara_aryanfar
شنبه 02 مهر 1390, 14:41 عصر
خوب دوست عزیز باید برای کورئری که برای دیتا بیس می فرستی شرط بزاری مثلا شما تو کامبوبکس میگی بر حسب نام جستجو کنه انطوری میشه

"select * from addbook where name='"+textBox3.Text+"'" نامی هم که می خوای جستجو کنی رو داخل تکس باکس می نویسی

modern_amin
شنبه 02 مهر 1390, 14:52 عصر
من اینطوری پر می کنم
SqlDataAdapter daobject = new SqlDataAdapter("select * from addbook where name='"+textBox3.Text+"'",conobject);
DataTable dtobject = new DataTable();
conobject.Open();
daobject.Fill(dtobject);
conobject.Close();
dataGridView1.DataSource = dtobject;
در وحله اول در دیتا گرید هیچ چیزی نمایش داده نمیشه بعد بر حسب نام فیلدی که من ازش می خوام تعداد رکوردهای موجود رو نشون میده نه همه دیتابیس رو

روش شمام خوبه ، ولی شیوه برنامه نویسی من بصورت دیگه ای هست که بعد موقع search خیلی بدردم میخوره

s3rv3r
شنبه 02 مهر 1390, 19:25 عصر
چرا دم به دقيقه به ديتابيس بدبخت وصل ميشيد؟؟؟؟؟؟؟؟؟؟؟؟؟

كاري مبتدي رو كنار بزاريد.

يه بار كه وصل شدي ريختي تو ديتا تيبل. از ديتا تيبل راحت بيا سرچ كن. خود همين سرچ كردنت ديتا تيبل رو پاك نميكنه بلكه محدودش ميكنه براي نمايش دادن. و در نتيجه تو ديتاگريد چيزي كه ميخوايي نشون داده ميشه

Babak-Magic
شنبه 02 مهر 1390, 19:45 عصر
برداشت من از سوالت این بود که همزمان می خواهی 2تا حالت رو بررسی کنی برای این کار پرس و جو رو به این صورت قرار بده
[Select * from YourTable Where '"+textbox1.text +"' And '"+Combobox1.text+"'";
اگه واضح تر بگی منظورت رو شاید بشه دقیق گفت

seven7777777
شنبه 02 مهر 1390, 23:54 عصر
دوست عزیز شما می خوای بر اساس چیزی که در کمبو انتخاب می کنی سرچ کنی ، درسته ؟
مثلا می تونه نام باشه ، نام خانوادگی باشه ، سن باشه یا ... ، درسته ؟
بعد می خوای مقداری که برای سرچ در نظر می گیری ، تو تکست باکس بنویسی ، درسته ؟
اگه اینا درسته ، فقط کافیه از کد زیر استفاده کنی :

((System.Data.DataTable)MediumListDGV.DataSource). DefaultView.RowFilter = String.Format("type = '{0}'", TypeCB.Text);

توضیح اینکه ابتدا میاد دیتاسورستو در cast می کنه به dataTable و بعد روی ردیف های اون فیلتر اعمال می کنه . اگه با این کد مشکل داشتی ، اسم فیلدهاتو ، یکی از موارد کمبو باکستو بگو تا بهتر راهنماییت کنیم .
موفق باشید