for(int i=0; _ds.Tables[0].Rows.Count > i ;i++)
_ds.Tables[0].Rows[i]["PersianDate"] = Persia.Calendar.ConvertToPersian(Convert.ToDateTime( _ds.Tables[0].Rows[i]["publishedDate"])).Persian;
به نقل از H_R :بیا اینم نمونه
کد:for(int i=0; _ds.Tables[0].Rows.Count > i ;i++) _ds.Tables[0].Rows[i]["PersianDate"] = Persia.Calendar.ConvertToPersian(Convert.ToDateTime( _ds.Tables[0].Rows[i]["publishedDate"])).Persian;
و Visible تصویرمو اینجوری تعریف کردم !function display(b){
if (b=0) {display="false";}
else{display="true";}
}
<asp:Image id="Image1" visible='<%#display( DataBinder.Eval(Container, "DataItem.MyImage")) %>'></asp:Image>
ببنید این یعنی دشمنی مستقیم با سرور !
که شما یه دستور سلکت بنوسید و توش معلوم نکنید که از کجا تا کجا رو براتون برگزدونه ، حالا از ه کنترلی میخواین استفاده کنه وقتی که شما اینطوری صفحه بندی میکنید هربار تمام اطلاعات از اول تا آخر از بانک اطلاعاتی به سرور منتقل میشه و میره توی دیتاستحالا شما 10 تاش رو نشون میدی ! درستش اینه که فقط 10 تا رکورد رو بگیری اگه میخوای 10 تاش رو نشون بدی مشکلش هم با یک orderd by و where و داشتن آخرین آیدی که توی هر صفحه اومده و top 10 (مثلا)حل میشه .
به نقل از EndOfCsharp :دوست عزیز
چنانچه تعداد رکودهای شما از 50 تا بیشتر نمی شود از همان grid View استفاده کنید
در غیر این صورت بایستی به کد نویسی و استفاده از datareader و کنترلهلی repeater و .. این کار را انجام دهید.
البته با دیتا لیست هم قابل انجام است
شما بایستی هنگام بایند شدن هر آیتم در دیتالیست (و یا repeatre و ...) ، از event مربوطه استفاده کنید و چک کنید که اگر اطلاعات آن آیتم خالی بود ، آن چه که مورد نظرتان است را بایند کنید.
ان شا ا.. اگر برسم همین 2 ، 3 روزه کد را برایتان خواهم گذاشت
به نقل از mehdvirus :خوب مایکروسافت که علکی این ابزار هارو درست نکرده باید کاستمایز بشن
قبلنا یه مقاله دیده بودم
آقا مهدی ، دلمو آب نکنین ، خب بیشتر توضیح بدین ، اون مقاله رو پیداش کنین دیگه!
خوب این مشکل رو میشه با کشینگ حل کرد!!به جای اینکه برای هر ریکوئست کانکشنی باز و بسته بشه خیلی نرم و راحت همه چیز از روی رم خونده میشه!!من خودم کشینگ رو با CustomPaging امتحان کردم!!در روش کشینگ خود گرید ویو پرفورمنس بیشتر بود !!حتی در دیتای 3000 تا !!البته بعضی جاها استفاده از Custom Paging بهتره!!مثلا وقتی که شما قراره لینکی به صفحه بدید!!در ضمن باز هم توصیه میکنم از دیتاست کتر استفاده کنید!!از ویزارد هایه Asp.net 2,,0 هم کمتر استفاده کنید !! و سعی کنید کد بنویسید . چون من پرفورمنس همه رو در شرایط مختلف تست کردم!!پرفورمنس هیچی به اندازه کد و Object نمیشه!!ببنید این یعنی دشمنی مستقیم با سرور !
که شما یه دستور سلکت بنوسید و توش معلوم نکنید که از کجا تا کجا رو براتون برگزدونه ، حالا از ه کنترلی میخواین استفاده کنه وقتی که شما اینطوری صفحه بندی میکنید هربار تمام اطلاعات از اول تا آخر از بانک اطلاعاتی به سرور منتقل میشه و میره توی دیتاستحالا شما 10 تاش رو نشون میدی ! درستش اینه که فقط 10 تا رکورد رو بگیری اگه میخوای 10 تاش رو نشون بدی مشکلش هم با یک orderd by و where و داشتن آخرین آیدی که توی هر صفحه اومده و top 10 (مثلا)حل میشه .
استفاده از گرید ویو اونقدر ها هم که H_R جان میگن خطرناک نیست!!و یکی ازکنترل های زیبای دات نت هست!!
به نقل از RoyaNima :سلام حسین جان
اوکی ! افتاد الان !!!!!!!!!!!!
اما میدونی چیه ! روش شما یه جورائی دردسر داره !!!
ببین ، سر این قضیه از راه دیگه ای رفتم ، اما هنوز گیره !
من اومدم این فانکشن رو گذاشتم تو تگ هد
و Visible تصویرمو اینجوری تعریف کردم !
اما یه چیزیش میشه !کد:<asp:Image id="Image1" visible='<%#display( DataBinder.Eval(Container, "DataItem.MyImage")) %>'></asp:Image>
گیر داده که تابعم Declare نشده !!!!!!!!!!!!!!
شما میفهمی چی میگه ! والا دیگه موندم !!! :blink:
تازه ، لطف کن یه راهی پیش پام بذار خیالم از بابت استفاده از دیتاگرید راحت بشه
ببین یه کد گذاشتم تو صفحه اول ، میشه واضح بگی عیبش چیه ؟
البته یه چیزائی گفتی ، اما یا من نمی گیرم شما چی میگی یا شما کدو دقت نکردی
ببین عزیز من ،
احساس میکنم روش Top فرقی با روش کار من نداشته باشه ، اینطور نیست ؟؟؟!!!!
در ضمن ORDER BY هم که کردم رکوردامو !
حالا مفهوم این جملتونو نمیفهمم "دشمنی مستقیم با سرور"
حسین ، لطف کن زیر دیپلم حرف بزن ، بگیرم زود !
ممنون که وقت میذاری جواب میدی