PDA

View Full Version : کار با ButtonField در GridView محیط 2005



rahele_sa
پنج شنبه 21 اردیبهشت 1385, 19:18 عصر
سلام

من در ستون های GridView ام یک فیلد از نوع ButtonField گذاشتم

می خواستم بدونم چه جوری میشه فهمید کدام سطر از GridView دکمه اش کلیک شده است

manager
پنج شنبه 21 اردیبهشت 1385, 19:34 عصر
وقتی که یک EventHandler برای مثلا اتفاق Edit بسازید, در متد مربوطه یک آرگومانت به نام GridViewEditEventArgs در اختیار دارید که با استفاده از e.NewItemIndex یا e.Item.ItemIndex می تونید به شماره ردیف جاری که یاعث تولید این event شده دسترسی پیدا کنید.

rahele_sa
پنج شنبه 21 اردیبهشت 1385, 19:36 عصر
خوب من نمی خواهم ستون Edit بزارم تو gridView ام

روشی دیگه ای نداشتید ؟

manager
پنج شنبه 21 اردیبهشت 1385, 20:05 عصر
نه دوست من شما می تونید هر چی که دلتون بخواد تو هر ستون و با هر Template ای بگذارید فقط هر وقت بخواهید یه اتفاق از انواع Edit,Select,Update,Cancel رو اجرا کنید باید یک کنترل که اینترفیس IButton رو پیاده سازی کرده باشه داشته باشید (مثلا یه ImageButton) بعد تو CommandName این کنترل مقدار edit,cancel,update و یا select رو مقدار دهی کنید...

rahele_sa
چهارشنبه 17 خرداد 1385, 10:48 صبح
سلام
من تو Microsoft Visual Studio 2005 برنامه ای نوشتم
ببینید به طور مثال
ما یک GridView داریم با 10 تا رکورد
فیلد هامون هم ID,Name,Famil
حالا من یک فیلد جداگانه از نوع ButtonField ایجاد کرده ام
پس در این حالت ما چهار تا فیلد داریم که یکیش از نوع ButtonField است
این هم می دانید که تا اینجای کار الان 10 رکورد داریم و در هر رکورد هم یک Button قرار دارد .
حالا من می خواهم وقتی روی یکی از Button یک رکورد کلیک کردم مقدار فیلد ID همون رکورد را در یک Label نمایش بدم ؟
همین .

mp2009
چهارشنبه 14 شهریور 1386, 14:02 عصر
سلام
من تو Microsoft Visual Studio 2005 برنامه ای نوشتم
ببینید به طور مثال
ما یک GridView داریم با 10 تا رکورد
فیلد هامون هم ID,Name,Famil
حالا من یک فیلد جداگانه از نوع ButtonField ایجاد کرده ام
پس در این حالت ما چهار تا فیلد داریم که یکیش از نوع ButtonField است
این هم می دانید که تا اینجای کار الان 10 رکورد داریم و در هر رکورد هم یک Button قرار دارد .
حالا من می خواهم وقتی روی یکی از Button یک رکورد کلیک کردم مقدار فیلد ID همون رکورد را در یک Label نمایش بدم ؟
همین .
اره به خدا مشکل من هم همینه اگه میشه کمک کنید

nazaninam
چهارشنبه 14 شهریور 1386, 14:15 عصر
خیلی سادست ! اولان اون ButtonField رو بگذار کنار و خودت یک TemplateColumn اضافه کن حالا داخل اون یک باتن قرار بده ، CommandName را برابر اسمی که دوست داری مثلا SelectMe قرار بده و CommandArgument رو به آی دی بایند کن ( اگه اینم بلد نیسیتی به این صورت هست Eval("IDColumn") ) خوب حالا وارد ساب روتین مربوط به رویداد RowCommand کنترل Gridview شو و به این صورت کد نویسی کن :



if (e.CommandName == "SelectMe")
{
Response.Write(e.CommandArgument.ToString());
}


دوست عزیز یکم هم خودت سعی کن ، راه های دیگه ای هم هست مثل استفاده از SelectedIndexChange و استفاده از SelectedRow کمی سعی کنید .

abadanboy
چهارشنبه 14 شهریور 1386, 16:21 عصر
ببین عزیز این کد هم حذف می کنه هم ویرایش می کنه هم دیتا گریدتو پر می کنه برو بگیر

پست اول

http://barnamenevis.org/forum/showthread.php?t=77877&page=2

medi33
جمعه 16 شهریور 1386, 21:16 عصر
سلام

buttonField ی به گرید اضافه و خصوصیت CommandName اون رو هم Select بگذارید و فیلدی را که مقدار ID را در بر دارد template کنید.
در قسمت editTemplate فقط برای فیلدی که مقدار ID را در بر دارد یک آی دی ست کنید.
حالا در رخداد SelectedIndexChanging دستور زیر را وارد کنید:

به عنوان مثال من ای دی فیلد ID رو برابر idValue قرار دادم و یک Label با ای دی myLabel در بیرون Grid دارم :


Lable lbl1=(Label) GridView1.Rows[e.NewSelectedIndex].FindControl("idValue") ; xxxx
myLabel.Text=lbl1.Text; xxxx


موفق باشید!

adhami
یک شنبه 18 شهریور 1386, 11:04 صبح
خیلی سادست ! اولان اون ButtonField رو بگذار کنار و خودت یک TemplateColumn اضافه کن حالا داخل اون یک باتن قرار بده ، CommandName را برابر اسمی که دوست داری مثلا SelectMe قرار بده و CommandArgument رو به آی دی بایند کن

با سلام
من از کد زیر در قسمت html استفاده کردم درست است یا خیر ؟


<asp:TemplateField HeaderText="انتخاب">
<ItemTemplate>
<button id="selectme">
<%#Eval("percode")%>
</button>
</ItemTemplate>
</asp:TemplateField>

جوابی رو که مد نظر من باشه که فیلد percode را در قالب یک message به من بده مشخص نمی کنه ؟

meysamdalipour
شنبه 07 دی 1387, 21:42 عصر
با سلام . من دو تا Gridview دارم که اولیش با مشخصات کالا پر شده و کنار اون یک buttonField تعریف کردم و اسم اونو ثبت گذاشتم . می خواهم وقتی این دکمه ثبت رو که روبروی هر سطر وجود داره رو زدم اطلاعات اون به GridView2 بره و در ثبت نهایی اون اطلاعات درون جدول دیگری ذخیره بشه . حالا اگه کسی تا نمایش در gridview2 را هم بگه کلی کمک به من کرده . ممنون