PDA

View Full Version : سوال: بایند کردن TextBox



بانوآفتاب
جمعه 28 فروردین 1388, 09:40 صبح
سلام :بوس:
من توی وب تازه کارم، یعنی کارم ویندوز بود. الان توی فرم یک Gridviwe دارم و TextBox های ورودی اطلاعات، میخوام روی هر سطر گرید که کاربر کلیک میکند، اطلاعات اون سطر توی TextBox نمایش داده بشه، توی ویندوز با باین کردن textbox ها به فیلدهای دیتاست کار تموم بود، ولی اینجا 2 تا مشکل دارم، خیلی لطف میکنید اگه منو راهنمایی کنید:
1. چطور TextBox ها رو بایند کنم به فیلدهای DateTable
2. چرا گرید 1 جوریه؟!! وقتی روی 1 سطری کلیک میکنم، انگار انتخاب نمیشه، مثل ویندوز که روی هر سطر که بریم، کل اون سطر حالت انتخاب شده داره :ناراحت:



this.dv_person = this.person_db_obj.ds_person.Tables["T_PERSON"].DefaultView;
this.person_db_obj.person_select();
this.GView_Person.DataSource = this.dv_person;
this.GView_Person.DataBind();
this.Txt_Name.Text = ???????????????
this.Txt_Name.DataBind();


اینم کد
ممنون :قلب:

nkhozooii
جمعه 28 فروردین 1388, 11:08 صبح
دوست عزیز آنطور که من متوجه شدم dv_person دیتاتیبلی است که به گرید بایند کرده اید حال باید در grid در قسمت additems یک آیتمselect از نوع commandField به گرید ویو اضافه کنید. در تنظیمات گرید ویو باید datakeynames را برابر با فیلد ID که می خواید بر اساس آن رکورد انتخاب شده را در جدولتان selectبزنید قرار دهید.مثلا:
datakeynames=ID قرار می دهیم. حال با روش بالا دکمه انتخاب هم که فعال شده حالا باید روی gridview دابل کیک کنید و در رویداد آمده بر اساس datakeynames آی دی سطر انتخاب شده را می گیریم. با این ترتیب:


string id=GridView1.SelectedDataKey.Value.ToString()
dataTable dt=از جدول بر اساس id سلکت می زنیم و رکورد مورد نظر را انتخاب می کنیم.

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


this.Txt_Name.Text =dt.Rows[0]["نام فیلد"].ToString()

موفق باشی.