PDA

View Full Version : غير فعال كردن سطر در Gridview



jingiliboyz
چهارشنبه 12 اسفند 1388, 15:28 عصر
با سلام گريدي دارم كه به ديتا بيس وصل هست ميخوام به مدير سايت اجاره اين رو بدم كه يكي سطر رو از گريد حذف نكنه بكله غير فعال كنه تا كاربران نتونند اون سطر رو ببينند دليلش هم اينه كه از گريد به عنوان منو در سايت استفاده كرم و ميخوام مدير سايت يك سطر رو غير فعال بكنه تا كاربران نتونند اون سطر رو ببينند و در زمان ديگري مدير سايت دوباره اون رو فعال بكنه بدون اينكه اطلاعات اون سطر از بين بره آيا امكانش هست ؟

h.alizadeh
چهارشنبه 12 اسفند 1388, 15:59 عصر
من اینجوری میکنم که یه فیلد توی جدول بنام مثلا وضعیت قرار میدم اگه اون فیلد مثلا 1 بشه یعنی غیرفعال اگه 0 بشه یعنی فعال به بیان دیگه یک شدن به معنای حذف موقتی هست ؛ وقتی مدیری سطری رو مییاد حذف کنه من اون رکورد رو از جدول حذف نمیکنم بلکه فیلدوضعیت رو یک میکنم .
بعد مثلا در کوئری و طراحی قانونهای خودم رو پیاده میکنم .
مثلاً ممکنه بگم برای مدیر سطرهای غیرفعال رو ایتالیک نمایش بده برای کاربران نمایششون نده


که اینا رو هم در رویداد GridView1_RowDataBound می نویسم.

h.alizadeh
چهارشنبه 12 اسفند 1388, 16:05 عصر
وقتی هم که بخوای برگردونیشون کافیه مقدار همون فیلد رو از یک به صفر تغییر بدی .

برای حذف کامل و غیرقابل برگشت هم می تونی اون رکورد رو کلا از جدول حذف کنی.

jingiliboyz
شنبه 15 اسفند 1388, 14:19 عصر
آيا عدد يك رو در جدول خودت دستي وارد ميكني يا نه اتوماتيك با مثلا يه دكمه يا چيز ديگه بعد ميخوام بدونم چطور بايد بهش بگم يعني با ديتا ست كار كنم يا نه كد نويسي بكنم و اون كد چطوري بايد تعريف بكنم

jingiliboyz
یک شنبه 16 اسفند 1388, 10:00 صبح
وقتی هم که بخوای برگردونیشون کافیه مقدار همون فیلد رو از یک به صفر تغییر بدی .

برای حذف کامل و غیرقابل برگشت هم می تونی اون رکورد رو کلا از جدول حذف کنی.

اين كه ميگيد حذف موقت يعني چي يعني اينكه جايي ميريزيد كه كاربر نتونه ببينه يا نه ؟

h.alizadeh
یک شنبه 16 اسفند 1388, 11:16 صبح
نه یک و صفر کردن رو برنامه انجام میده.
در مورد حذف موقتی هم این یه اصطلاح ه که ما داریم برا خودمون تعریف میکنیم!

مثلا شما می خوای یه رکورد رو حذف کنی خب کوئری ای مینویسی شامل دستورdelete اسکیول اما حالا ما در حذف موقتی نمییایم دستور deleteبنویسیم عوضش دستور updateاستفاده میکنیم و می آییم رکورد موردنظر رو فیلد وضعیتشو به یک تغییر میدیم که ما اینو خودمون بعنوان حذف موقت تلقی می کنیم.

وقتی هم بخوای که حذف دائم بکنی که از دستور delete اسکیوال استفاده کن.


برای نمایششون هم یک کوئری بنویس دیگه الان مثلا برای نمایش کل رکوردهای جدولت میگی
select * from myTable
حالا برای نمایش رکوردهایی که حذف موقت نیستند :
select * from myTable where state=0

پیش فرض هم در جدولت بگو state=0یعنی موقع تعریف جدولت در اسکیوال مقدار دیفالت این فیلد=0

برای ایتالیک اینا کردن هم در رویداد GridView1_RowDataBound باید به مقدار فیلدسطرهای جدولت دسترسی پیدا کنی و چک کنی که اگه مقدار فیلدوضعیتش =1 بود فلان جور نمایش بده یعنی مثلا ایتالیک نمایش بده...

بقیه ش باخودتون من صرفاً قصدم یه راهنمایی بود ...:چشمک::لبخندساده:

jingiliboyz
یک شنبه 16 اسفند 1388, 11:33 صبح
نه یک و صفر کردن رو برنامه انجام میده.
در مورد حذف موقتی هم این یه اصطلاح ه که ما داریم برا خودمون تعریف میکنیم!

مثلا شما می خوای یه رکورد رو حذف کنی خب کوئری ای مینویسی شامل دستورdelete اسکیول اما حالا ما در حذف موقتی نمییایم دستور deleteبنویسیم عوضش دستور updateاستفاده میکنیم و می آییم رکورد موردنظر رو فیلد وضعیتشو به یک تغییر میدیم که ما اینو خودمون بعنوان حذف موقت تلقی می کنیم.

وقتی هم بخوای که حذف دائم بکنی که از دستور delete اسکیوال استفاده کن.


برای نمایششون هم یک کوئری بنویس دیگه الان مثلا برای نمایش کل رکوردهای جدولت میگی
select * from myTable
حالا برای نمایش رکوردهایی که حذف موقت نیستند :
select * from myTable where state=0

پیش فرض هم در جدولت بگو state=0یعنی موقع تعریف جدولت در اسکیوال مقدار دیفالت این فیلد=0

برای ایتالیک اینا کردن هم در رویداد GridView1_RowDataBound باید به مقدار فیلدسطرهای جدولت دسترسی پیدا کنی و چک کنی که اگه مقدار فیلدوضعیتش =1 بود فلان جور نمایش بده یعنی مثلا ایتالیک نمایش بده...

بقیه ش باخودتون من صرفاً قصدم یه راهنمایی بود ...:چشمک::لبخندساده:

اولا تشكر از راهنمايي شما بعد اينكه وقتي دكمه edit رو ميزنم و مثلا يك قسمت رو edit مي كنم بازدن دكمه update كل اون سطر از بين ميره جريان چيه بايد كل فيلد ها رو update كنم

h.alizadeh
یک شنبه 16 اسفند 1388, 17:07 عصر
نه نیازی به ویرایش کل فیلدها نیست شما احتمالا دستوراتتون اشتباه س .
می خوای کدتتو بزار بگیم کجاش ایراد داره ...
احتمالاً داری ویزاردی کار می کنی؟!