PDA

View Full Version : سوال: انتخاب از dropdownlist



mona11
یک شنبه 15 آذر 1388, 13:08 عصر
با سلام خدمت دوستان.میخواستم بدونم اگه یه دستور select بخوام بنویسم که شرط انتخابیشو از یک dropdownlist بزارم چطوری باید بنویسم.

واضح تر بگم:فرض کنید من یه dropdownlist دارم که توی اون اسم چند تا شهره.حالا میخوام اسامی تمام دانشجویانی که داخل شهر مشهد هستند نمایش داده بشه.
در حالت عادی که اینطوری مینویسم.

select * from table1 where city="mashad"

اما این شرط مشهد که از داخل dropdownlist انتخاب شده ،مشکل سازه.

میخوام یه نفر بیاد و شهرشو انتخاب کنه و تمام افراد همون شهرو نشون بده.توجه دارید که تمام این کارا از داخل gridview انجام میشه دیگه.

Rejnev
یک شنبه 15 آذر 1388, 13:49 عصر
سلام



datatable.DefaultView.RowFilter = "city="+drpdown.selectedItem.tostring();
gridview1.dataSource=datatable;

mona11
دوشنبه 16 آذر 1388, 00:05 صبح
آقا دمت گرم.فقط اگه لطف کنی یه کم کامل تر بنویسی.بابا من هر کار میکنم اجرا نمیشه.بیا و جوونمردی رو تموم کن و کدشو کامل بنویس.باور کنید خیلی سرچ کردم ولی همه جوابها ناکامله.

mona11
دوشنبه 16 آذر 1388, 12:28 عصر
نیازمند یاریتان هستیم.

Rejnev
سه شنبه 17 آذر 1388, 21:57 عصر
سلام مجدد
براي نمايش اطلاعات از يك جدول داخل گريد من به اين صورت كار ميكنم كه بدون نياز به افزودن dataSource به برنامه است.يعني كد اتصال به بانك بصورت دستي بوده و در هر واكشي اطلاعات اونرو داخل يك dataSet ميريزم و در نهايت اطلاعات رو در گريد نمايش ميدم. اين كار انعطاف پذيري بالاتري داره
براي فيلتر كردن ميتونيد اطلاعات رو دوباره با دستور sql مورد نظر واكشي كنيد. اما در مورد شما چون با هر تغيير دراپ داون اطلاعات بايد فيلتر بشه و يك اتصال به بانك صورت بگيره اين كار مطلوب نيست و بايد اطلاعات رو در يك dataset سراسري تعريف كنيد كه تا زماني كه فرم باز هست اطلاعات از بين نره.و در نهايت براي فيلتر اونرو روي dataset اعمال ميكنيم و در گريد نمايش ميديم.در ادامه يك شبه كد ساده نوشتم كه البته بايد اصلاحات و كنترل خطا رو در اون لحاظ كنيد.
اگر سوال داشتيد بپرسيد

Rejnev
سه شنبه 17 آذر 1388, 22:09 عصر
using system.data;
using system.data.sqlClient;
,...
.
.
.
DataSet ds;
form_load(...)
{
ds=new DataSet();
sqlDataAdapter da=new sqlDataAdapter();
da.SelectCommand=new sqlCommand();
da.selectCommand.Connection=new sqlConnection("your connection string");
da.selectCommand.commandText="select * from tableName";
da.selectCommand.connection.open();
da.fill(ds);
dataGridView1.datasource=ds.tables[0];
}
dropDown_selectedItemChange(...)
{
ds.tables[0].defaultView.rowFilter="city='"+ dropDown.Items[dropDwon.selectedIndex] +"'"
dataGridView1.dataSource=ds.tables[0];
}