PDA

View Full Version : نحوه انتخاب یک سطر از GridView



amirferdowsi
شنبه 20 مهر 1387, 13:39 عصر
سلام
من میخواستم زمانی که کاربر روی یک سطر از GridView کلیک می کنه ، اون سطر انتخاب بشه ( یعنی دقیقاً کاری رو انجام بده که زمانی بر روی گزینه Select کلیک می کنیم .) با این تغییر که کاربر هر کجا از سطر کلیک کرد اون سطر از GridView انتخاب بشه .

پیشاپیش از راهنمایی شما دوستان تشکر می کنم .

Behrouz_Rad
یک شنبه 21 مهر 1387, 10:05 صبح
از کدهای تاپیک "اعمال متداول با GridView" ایده بگیر.

Amir Taghavi
یک شنبه 21 مهر 1387, 11:36 صبح
public class CustomGridView : GridView
{
protected override void OnRowCreated(GridViewRowEventArgs e)
{
base.OnRowCreated(e);

if(e.Row.RowType != DataControlRowType.DataRow)
return;

foreach(TableCell cell in e.Row.Cells)
{
cell.Attributes.Add("onClick", this.Page.ClientScript.GetPostBackEventReference(t his, "Select$" + e.Row.RowIndex.ToString()));
cell.Style.Add(HtmlTextWriterStyle.Cursor, "Pointer");
}
}
}

amirferdowsi
پنج شنبه 25 مهر 1387, 16:09 عصر
public class CustomGridView : GridView
{
protected override void OnRowCreated(GridViewRowEventArgs e)
{
base.OnRowCreated(e);

if(e.Row.RowType != DataControlRowType.DataRow)
return;

foreach(TableCell cell in e.Row.Cells)
{
cell.Attributes.Add("onClick", this.Page.ClientScript.GetPostBackEventReference(t his, "Select$" + e.Row.RowIndex.ToString()));
cell.Style.Add(HtmlTextWriterStyle.Cursor, "Pointer");
}
}
}


سلام
دوست عزیز میشه بیشتر درباره استفاده از این کلاس توضیح بفرمائید .

Amir Taghavi
جمعه 26 مهر 1387, 10:40 صبح
No comment!

یه web app درست کن (نوع خروجی رو بذار class library) این کلاس رو توش add کن بعد پروژه ات رو Build کن! حالا یه dll داری که همون GridView هستش. و می تونی اونو تو Toolbox اضافه کنی و تو سایت هایی که می سازی ازش استفاده کنی.

peymannaji
جمعه 26 مهر 1387, 11:38 صبح
No comment!

یه web app درست کن (نوع خروجی رو بذار class library) این کلاس رو توش add کن بعدی پروژه ات رو Build کن! حالا یه dll داری که همون GridView هستش. و می تونی اونو تو Toolbox اضافه کنی و تو سایت هایی که می سازی ازش استفاده کنی.


سلام دوست عزیز .
محبت میکنید NameSpace‌ های مورد نیاز رو هم بگید
با تشکر ...

Amir Taghavi
جمعه 26 مهر 1387, 12:28 عصر
سلام دوست عزیز .
محبت میکنید NameSpace‌ های مورد نیاز رو هم بگید

سلام


using System.Web.UI;
using System.Web.UI.WebControls;

peymannaji
جمعه 26 مهر 1387, 13:07 عصر
تازه برای این کار بهتره که رنگ زمینه رو عوض کنی.مثلا:



onclick="this.style.background='red'"
این رو برای قسمت دیتاباین و ادیت تم بزار


سلام دوست عزیز . این قسمتی رو که شما گفتید دقیقا به چه شکل باید نوشت چون من به این صورت نوشتم و Error میگیره


cell.Attributes.Add("onClick",this.style.background='red');

Amir Taghavi
جمعه 26 مهر 1387, 15:55 عصر
سلام دوست عزیز . این قسمتی رو که شما گفتید دقیقا به چه شکل باید نوشت چون من به این صورت نوشتم و Error میگیره

برای این موضوع لازم نیست شما کدی بنویسی. کافیه تو SelectedRow گرید رنگ مورد نظر رو انتخاب کنی. کدی که نوشتم فقط row رو select میکنه، حالا این بستگی به شما داره که رنگ row انتخاب شده چی باشه. همونطور که گفتم می تونی property اونو set کنی و یا با css کار کنی.


cell.Style.Add(HtmlTextWriterStyle.Cursor, "Pointer");

حتی لازم نیست کد بالا رو هم بنویسی. میشه با css اونو set کرد.

موفق باشید

peymannaji
جمعه 26 مهر 1387, 16:00 عصر
بله من هم با CSS اینکارو تا الان انجام دادم . اما میخواستم بدون اینکه دوباره این کار رو انجام بدم در خود کامپوننت این مسئله اعمال شده باشه ...

amirferdowsi
جمعه 26 مهر 1387, 16:13 عصر
سلام
دوست عزیز از راهنماییتون ممنونم :تشویق:
حالا من این کلاس رو ایجاد کردم و اون رو هم dll کردم و به Toolbox اضافه کردم اما اصلاً به پروژه اضافه نمیشه ، نه با دبل کلیک بر روی ایکون اون و نه اینه توی لیست کنترلها دیده میشه ! :متعجب: :ناراحت:
میخواستم بدونم مشکل کجاست ؟

اینم فایل DLL :
24554

Amir Taghavi
جمعه 26 مهر 1387, 18:23 عصر
سلام
دوست عزیز از راهنماییتون ممنونم :تشویق:
حالا من این کلاس رو ایجاد کردم و اون رو هم dll کردم و به Toolbox اضافه کردم اما اصلاً به پروژه اضافه نمیشه ، نه با دبل کلیک بر روی ایکون اون و نه اینه توی لیست کنترلها دیده میشه ! :متعجب: :ناراحت:
میخواستم بدونم مشکل کجاست ؟

اینم فایل DLL :
24554

شدیدا معذرت می خوام.:خجالت::لبخند:

شما باید یک ASP.NET Server Control می ساختید. که این کارو واستون انجام دادم.

m_moghaddas
دوشنبه 20 آبان 1387, 12:52 عصر
سلام. می خواستم بدونم چطوری میشه روی چند سطر از Grid View که با checkbox انتخاب شده اعمالی مانند حذف یا ویرایش و ... را همزمان روی همه آن سطرها با هم انجام داد

Nightbat
دوشنبه 20 آبان 1387, 13:13 عصر
foreach (GridViewRow row in GridView1.Rows) {
if (((CheckBox)row.FindControl("chk")).Checked) {
// Ye kari
}
}

article
شنبه 09 آذر 1387, 23:58 عصر
می تونی ابتدا با استفاده از دستورات sql اطلاعات را نمایش بدی و بعد از دستور زیر استفاده کنی
c1 = objDataSet.Tables[0].Rows[ro]["name"].ToString();

el_abdollahi
چهارشنبه 09 دی 1388, 23:15 عصر
سلام بر همگی
من هم یک گریدویو دارم که میخوام وقتی کاربر روی هر کدوم از سطرهاش کلیک کرد, کد اون رو به دست بیارم.
برای من رفرش نشدن صفحه خیلی مهمه و گریدویوم رو توی آپدیت پنل گذاشتم. حالا وقتی این کد رو به رویداد rowCreated گریدویوم اضافه میکنم, و روی سطرم کلیک میکنم صفحه رفرش میشه.
برای این که صفحم رفرش نشه چه کار کنم؟


ممنون

javad.nic63
پنج شنبه 01 مهر 1389, 18:33 عصر
سلام. خسته نباشيد. واقعاً مشكل رو حل كرد. فقط من مي‌خوام مثلاً فيلد اول گريدويو رو فقط روي خط موردنظر كليك ميكنم بدست بيارم تا بتونم از اون استفاده كنم. بايد چكار كنم؟ ا

aftab_mahtab
جمعه 02 مهر 1389, 04:14 صبح
دست همگي درد نكنه واقعا تاپيك خوبي شد:تشویق::تشویق: ،به نظر من حالا بياييم و يك ستون ثابت با نام رديف براي اين گريد ويو تعريف كنيم ، ميتونيم از اين نمونه پاييني الهام بگيريم:چشمک: ، البته اونايي كه واردن نه صفر كيلومترهايي مثه ما !:ناراحت: . بعدشم ميتونيم توي فوتر اون يا پيجر هم كمي دستكاري كنيم و ... فكر كنم اگه همكاري كنيم يه گريد پدر مادر دار از توش در بياد :چشمک: . هر كي هست ، بسم ا...