رفتن به مطلب
  • 0

راهنمایی در لیمیت


MoniSoft

سوال

سلام دوستان

من به دیتابیسم به صورت زیر لیمیت دادم:

Sub listsubGroup(name As String) As List
	Dim cur As Cursor
	Dim list1 As List
	list1.Initialize
	cur = sql1.ExecQuery("SELECT * FROM sms WHERE subid="&name&" LIMIT 10")
	For i=0 To cur.RowCount-1
	cur.Position = i
	Dim smscontent As smscontent
	smscontent.Initialize
	smscontent.id= cur.GetInt("id")
	smscontent.subid= cur.GetInt("subid")
	smscontent.sms = cur.GetString("sms")
	list1.Add(smscontent)
	Next
	Return list1
End Sub

حالا در اسکرول پوزیشن به صورت زیر کدها رو قرار دادم :

Sub ScrollView1_ScrollChanged(Position As Int)
	If ScrollView1.ScrollPosition + ScrollView1.Height = ScrollView1.Panel.Height Then
		offset = offset + 10
smscontent.Initialize
	db.Initialize
	list1.Initialize
	favmanage.Initialize
		list1=db.listsubGroup(mostar)
		For i=0 To list1.Size-1
		Try
			smscontent=list1.Get(i)
			show
		Catch
		Return
		End Try
	     Next
	End If
End Sub

کدهای اکتیویتی کریت هم دقیقا مثل بالایی است .

میخواستم بدونم مشکلم کجاس که وقتی صفحه رو اسکرول میکنم 10 تا مطلب بعدی رو که نمایش میده تکراری هست یعنی 10 تا مطلب رو نمایش میده و وقتی هم اسکرول میکنم دوباره همون 10 تا مطلب دوباره لود میشن.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

4 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

لیمیت دادن به این صورت نیست عزیز

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

Sub listsubGroup(name As String,start as int) As List
	Dim cur As Cursor
	Dim list1 As List
	list1.Initialize
	cur = sql1.ExecQuery("SELECT * FROM sms WHERE subid="&name&" LIMIT "&start&" , 10")
	For i=0 To cur.RowCount-1
	cur.Position = i
	Dim smscontent As smscontent
	smscontent.Initialize
	smscontent.id= cur.GetInt("id")
	smscontent.subid= cur.GetInt("subid")
	smscontent.sms = cur.GetString("sms")
	list1.Add(smscontent)
	Next
	Return list1
End Sub

دفه اول استارت صفر هست بعد میشه ده بعد بیست همین جوری الا آخر

وقتی برنامه رو اجرا میکنم به این خط گیر میده:

list1=db.listsubGroup(mostar)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

وقتی برنامه رو اجرا میکنم به این خط گیر میده:

list1=db.listsubGroup(mostar)

 من کد بالا رو به این صورت نوشتم درسته ؟

list1=db.listsubGroup(mostar,start)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

ببینید شما باید از Offset هم استفاده کنید

 

تاپیک به جواب رسیده و حتی نمونه سورس توی انجمن هستش :

 

http://answercenter.ir/topic/10865-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-limit-%D8%AF%D8%A7%D8%AF%D9%86/

 

توی فروشگاه هم آموزشش به صورت تصویری با قیمت خیلی پایینی هست که آموزشش رو استاد مجید آرتا آماده کرده بودن :

 

http://answercenter.ir/index.php?app=nexus&module=payments&section=store&do=item&id=9

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوستان

من به دیتابیسم به صورت زیر لیمیت دادم:

Sub listsubGroup(name As String) As List
	Dim cur As Cursor
	Dim list1 As List
	list1.Initialize
	cur = sql1.ExecQuery("SELECT * FROM sms WHERE subid="&name&" LIMIT 10")
	For i=0 To cur.RowCount-1
	cur.Position = i
	Dim smscontent As smscontent
	smscontent.Initialize
	smscontent.id= cur.GetInt("id")
	smscontent.subid= cur.GetInt("subid")
	smscontent.sms = cur.GetString("sms")
	list1.Add(smscontent)
	Next
	Return list1
End Sub

حالا در اسکرول پوزیشن به صورت زیر کدها رو قرار دادم :

Sub ScrollView1_ScrollChanged(Position As Int)
	If ScrollView1.ScrollPosition + ScrollView1.Height = ScrollView1.Panel.Height Then
		offset = offset + 10
smscontent.Initialize
	db.Initialize
	list1.Initialize
	favmanage.Initialize
		list1=db.listsubGroup(mostar)
		For i=0 To list1.Size-1
		Try
			smscontent=list1.Get(i)
			show
		Catch
		Return
		End Try
	     Next
	End If
End Sub

کدهای اکتیویتی کریت هم دقیقا مثل بالایی است .

میخواستم بدونم مشکلم کجاس که وقتی صفحه رو اسکرول میکنم 10 تا مطلب بعدی رو که نمایش میده تکراری هست یعنی 10 تا مطلب رو نمایش میده و وقتی هم اسکرول میکنم دوباره همون 10 تا مطلب دوباره لود میشن.

لیمیت دادن به این صورت نیست عزیز

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

Sub listsubGroup(name As String,start as int) As List
	Dim cur As Cursor
	Dim list1 As List
	list1.Initialize
	cur = sql1.ExecQuery("SELECT * FROM sms WHERE subid="&name&" LIMIT "&start&" , 10")
	For i=0 To cur.RowCount-1
	cur.Position = i
	Dim smscontent As smscontent
	smscontent.Initialize
	smscontent.id= cur.GetInt("id")
	smscontent.subid= cur.GetInt("subid")
	smscontent.sms = cur.GetString("sms")
	list1.Add(smscontent)
	Next
	Return list1
End Sub

دفه اول استارت صفر هست بعد میشه ده بعد بیست همین جوری الا آخر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...