PDA

View Full Version : دسترسی به یکی از ستون های مخفی گریدویو



A.Yousefi
پنج شنبه 20 بهمن 1390, 14:03 عصر
سلام
با استفاده از این کد:

int


ID =Convert .ToInt32 ( GridView1.Rows[row.RowIndex].Cells [1].Text);

میتونیم به محتوی یکی از سلولهای گریدویو دسترسی پیدا کنیم،حالا من آی دی رکوردهارو نمیخوام تو گرید نمایش بدم،به خاطر همین visible اونو false کردم،اما نیاز دارم به محتوی آی دی هر رکورد دسترسی داشته باشم،چجوری میشه با توجه به اینکه اون ستون تو گرید نمایش داده نمیشه به محتوای اون دسترسی داشت؟

bahareh1368
پنج شنبه 20 بهمن 1390, 16:16 عصر
به جای اینکه ستون ID گرید رو hide کنید بهتره ستون های گرید رو خودتون تعیین کنید که چی باشه اینطوری می تونید ID رو از دیتاسورس به ستون های گرید اضافه نکنید اما با این حال چون جزء یکی از فیلدهای دیتاسورس هست می تونید به اون دسترسی داشته باشید.

mohsen.nsb44
پنج شنبه 20 بهمن 1390, 19:45 عصر
دوست عزیز وقتی یک ستون از گریدویو رو visible اونو falseقرار میدید دیگه با اون کدتون نمیتونید بهش دسترسی داشته باشید
من هم چنین مشکلی داشتم یک گرید ویو دیگه مثل گریدویو قبل گرفتم این بار خاصیت گریدویو دوم را برابر false گرفتم زمانی که خود گریدویو رو visible اونو false بگیری فیلد هاش در دسترس هستند با کد شما اما زمانی که فیلد ها شو از داخل گریدویو visible اونو برابر FALSE قرار میدی دیگه در دسترس با کد شما نخواهند بود.

A.Yousefi
پنج شنبه 20 بهمن 1390, 22:45 عصر
به جای اینکه ستون ID گرید رو hide کنید بهتره ستون های گرید رو خودتون تعیین کنید که چی باشه اینطوری می تونید ID رو از دیتاسورس به ستون های گرید اضافه نکنید اما با این حال چون جزء یکی از فیلدهای دیتاسورس هست می تونید به اون دسترسی داشته باشید.
من ستونهای Grid رو خودم تعیین میکنم که چی باشه دیگه!
من ستون ID رو نمیخوام تو گرید نمایش بدم چون به درد کاربر نمیخوره اما خودم پشت صحنه با اون کار میکنم،این ستون ID تو دیتاسورسم هستا.
چجوری میشه به فیلدهای دیتاسورس دسترسی داشت؟

A.Yousefi
پنج شنبه 20 بهمن 1390, 22:48 عصر
دوست عزیز وقتی یک ستون از گریدویو رو visible اونو falseقرار میدید دیگه با اون کدتون نمیتونید بهش دسترسی داشته باشید
من هم چنین مشکلی داشتم یک گرید ویو دیگه مثل گریدویو قبل گرفتم این بار خاصیت گریدویو دوم را برابر false گرفتم زمانی که خود گریدویو رو visible اونو false بگیری فیلد هاش در دسترس هستند با کد شما اما زمانی که فیلد ها شو از داخل گریدویو visible اونو برابر FALSE قرار میدی دیگه در دسترس با کد شما نخواهند بود.
واقعا که راههای جالبی به ذهنتون میرسه!!
فرض کنید شما قرار 1 میلیون تا رکورد تو تو گرید نمایش بدین،اون موقع بازم میاین برای همچین کاری دو تا گرید تعریف میکنین دوتا بایند،میدونین چقد وقت تلف میشه؟

mohsen.nsb44
یک شنبه 23 بهمن 1390, 11:41 صبح
واقعا که راههای جالبی به ذهنتون میرسه!!
فرض کنید شما قرار 1 میلیون تا رکورد تو تو گرید نمایش بدین،اون موقع بازم میاین برای همچین کاری دو تا گرید تعریف میکنین دوتا بایند،میدونین چقد وقت تلف میشه؟
دوست عزیز معمولا این کار رو زمانی می کنند که داخل گرید یک الی 5 تا رکورد نمایش داده میشه کسی نگفت که برای یک میلیون رکوردتون از این روش استفاده بکنید
این یک ترفند هستش برای رکورد های کم که انتخاب میشن از سمت کاربر.

مهدی کرامتی
یک شنبه 23 بهمن 1390, 14:42 عصر
از طریق DataBinding و فراخوانی تابع Evel در فایل aspx تون به راحتی می توانید به مقدار فیلدهایی که ستون شان در گرید وجود ندارد ولی در دیتاسورس موجود است دسترسی پیدا کنید.

A.Yousefi
یک شنبه 23 بهمن 1390, 18:07 عصر
از طریق DataBinding و فراخوانی تابع Evel در فایل aspx تون به راحتی می توانید به مقدار فیلدهایی که ستون شان در گرید وجود ندارد ولی در دیتاسورس موجود است دسترسی پیدا کنید.
جناب Delphi ممنون از جوابتون،ظاهرا مشکل چیزه دیگه ایه،من نمیتونم از eval برای کنترلهای Footer استفاده کنم ولی برای item template ها جواب میده،آیا امکان استفاده از Eval برای کنترلهای footer وجود نداره؟
البته این سوال رو چون یه سوال جدا میشه اینجا (http://barnamenevis.org/showthread.php?327359-عدم-امکان-استفاده-از-Eval-برای-کنترلهای-footer-template) پرسیدم.