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

مشکل لیمیت و لود 10 تایی


bahman

سوال

Sub Activity_Create(FirstTime As Boolean)

	If SQL1.IsInitialized = False Then
	SQL1.Initialize(File.DirInternal,"smssms.db",True)
	End If
     cursur1 = SQL1.ExecQuery("SELECT * FROM asly WHERE id BETWEEN 1 AND 10") 
If mTypeface.IsInitialized = False Then mTypeface = Typeface.LoadFromAssets("byekan.ttf")

	Activity.LoadLayout("sv")

	For i=0 To cursur1.RowCount-1
	cursur1.Position=i
	text= cursur1.GetString("payamak") 
	ScrollView1.Panel.Color = Colors.Transparent
	
	Dim p1 As Panel
	p1.Initialize("")
	p1.LoadLayout("main")
	ScrollView1.Panel.AddView(p1,0,PanelHeight,100%x,100dip)
		
	btnfav.Tag = i
	btnshare.Tag = i
	btncopy.Tag = i
	btnnumber.text = i + 1
	btnnumber.Typeface=mTypeface 

	ht=art(text,Label1,mTypeface,20)
	Label1.TextColor=Colors.Black
	p1.Height=ht+70dip
	PanelHeight=PanelHeight+ht+70dip
	Next
	ScrollView1.Panel.Height=PanelHeight

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)



End Sub
Sub LoadContenet ( qury As String) 
	 If sqlMsg.IsInitialized = False Then 
	 	sqlMsg.Initialize(File.DirInternal, "smssms.db",True) 
	 End If 
	 sqlMsg.ExecQueryAsync("SQL",qury,Null) 
End Sub 
Sub SQL_QueryComplete (Success As Boolean, Crsr As Cursor)
	If Success Then 
		Dim top As Int = 0 
		For i = 0 To Crsr.RowCount - 1 
			
			Crsr.Position = i 
			
			Dim pnl As Panel 
			pnl.Initialize("Panel") 
			pnl.LoadLayout("main")
			
			Label1.Text = Crsr.GetString("payamak")
			ScrollView1.Panel.AddView(pnl,0,top,100%x,100dip) 
			top = top + 103dip
		Next 
		ScrollView1.Panel.Height = top 
	End If 
End Sub


Sub ScrollView1_ScrollChanged(Position As Int)
    If Position + ScrollView1.height >= ScrollView1.Panel.height Then
        limit = limit + 10
        LoadContenet("select * FROM asly WHERE id BETWEEN "&(limit+1)&" AND "&(limit+10))
    End If 
End Sub

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

38p7m42lafl1an0jg36f.png

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

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

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

 

 
 

 

 

در تابع SQL_QueryComplete شما متغیر عددی top رو به صورت داخلی تعریف کردین باید این متغیر رو در گلوبال تعریف کنید و فقط  در تابع activity_create  مقدار آن را برابر صفر قرار دهید .

 

جواب نداد استاد

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

بی زحمت کدهایی رو که میگین جواب نداد تو تگ کد بزارین تا من یا دوستان یه چک بکنیم یا این قسمت پروژه تون رو آپلود کنین 

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

Dim top As Int = 0

سلام متغییر top رو تو sub globals بنویس بعد اینجا نتیجه رو بگو

ScrollView1.Panel.Height = top

این رو هم داخل حلقه فور بنویس

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

بی زحمت کدهایی رو که میگین جواب نداد تو تگ کد بزارین تا من یا دوستان یه چک بکنیم یا این قسمت پروژه تون رو آپلود کنین 

استاد اومدم تو گلوبال یه متغیر ب اسم تاپ معرفی کردم بعد اونجا نوشتم تاپ برابر با صفر

هرچی هست مشکل ازینجا هستش

Sub SQL_QueryComplete (Success As Boolean, Crsr As Cursor)
	If Success Then 
		Dim top As Int = 0 
		For i = 0 To Crsr.RowCount - 1 
			
			Crsr.Position = i 
			
			Dim pnl As Panel 
			pnl.Initialize("Panel") 
			pnl.LoadLayout("main")
			
			Label1.Text = Crsr.GetString("payamak")
			ScrollView1.Panel.AddView(pnl,0,top,100%x,100dip) 
			top = 0
		Next 
		ScrollView1.Panel.Height = top 
	End If 
End Sub

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

سلام متغییر top رو تو sub globals بنویس بعد اینجا نتیجه رو بگو

 

 

این رو هم داخل حلقه فور بنویس

اینم جواب نداد استاد هر چی هست مشکل تو این بخشه

Sub SQL_QueryComplete (Success As Boolean, Crsr As Cursor)
	If Success Then 
		Dim top As Int = 0 
		For i = 0 To Crsr.RowCount - 1 
			
			Crsr.Position = i 
			
			Dim pnl As Panel 
			pnl.Initialize("Panel") 
			pnl.LoadLayout("main")
			
			Label1.Text = Crsr.GetString("payamak")
			ScrollView1.Panel.AddView(pnl,0,top,100%x,100dip) 
			top = 0
		Next 
		ScrollView1.Panel.Height = top 
	End If 
End Sub

ضمنا چون ی خورده مبتدیم البته جسارت نباشه ممنون میشم دوستان و اساتید تو کد راهنماییم کنند

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

 

استاد اومدم تو گلوبال یه متغیر ب اسم تاپ معرفی کردم بعد اونجا نوشتم تاپ برابر با صفر

هرچی هست مشکل ازینجا هستش

Sub SQL_QueryComplete (Success As Boolean, Crsr As Cursor)
	If Success Then 
		Dim top As Int = 0 
		For i = 0 To Crsr.RowCount - 1 
			
			Crsr.Position = i 
			
			Dim pnl As Panel 
			pnl.Initialize("Panel") 
			pnl.LoadLayout("main")
			
			Label1.Text = Crsr.GetString("payamak")
			ScrollView1.Panel.AddView(pnl,0,top,100%x,100dip) 
			top = 0
		Next 
		ScrollView1.Panel.Height = top 
	End If 
End Sub

لطفا یکم دقت کنین  شما باید بعد از تعریف کردن متغیر top توی گلوبال خط زیر رو  از داخل تابع SQL_QueryComplete  پاک کنین :

Dim top As Int = 0
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

استاد اومدم تو گلوبال یه متغیر ب اسم تاپ معرفی کردم بعد اونجا نوشتم تاپ برابر با صفر

هرچی هست مشکل ازینجا هستش

Sub SQL_QueryComplete (Success As Boolean, Crsr As Cursor)
	If Success Then 
		Dim top As Int = 0 
		For i = 0 To Crsr.RowCount - 1 
			
			Crsr.Position = i 
			
			Dim pnl As Panel 
			pnl.Initialize("Panel") 
			pnl.LoadLayout("main")
			
			Label1.Text = Crsr.GetString("payamak")
			ScrollView1.Panel.AddView(pnl,0,top,100%x,100dip) 
			top = 0
		Next 
		ScrollView1.Panel.Height = top 
	End If 
End Sub

اومدی متغییر اینتجر TOP رو تعریف کردی بعد مقدار صفر رو ریختی داخلش

بعدش پایین از متغییر TOP استفاده کردی که همچنان مقدارش صفره

اخر حلقه هم گفتی هر بار حلقه تموم شد مقدارشو صفر کنه

زیر حلقه اومدی گفتی ارتفاع پنل برابر با TOP باشه :| یعنی صفر

به این ارتفاع دستی بده درست میشه

ScrollView1.Panel.Height = top

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

 

لطفا یکم دقت کنین  شما باید بعد از تعریف کردن متغیر top توی گلوبال خط زیر رو  از داخل تابع SQL_QueryComplete  پاک کنین :

Dim top As Int = 0

کرده بودمش تو کد یادم رفت بردارم تو سورس حذفه

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

به لطف اساتید بزرگوار الان مشکل لود حل شد و مونده علاقه مندی الان مثلا 10 تای اول رو بفرستم علاقه مندی بخوام 10 تای دوم رو بفرستم اولیارو حذف میکنه

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

 

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

38p7m42lafl1an0jg36f.png

 

 

 

 

در تابع SQL_QueryComplete شما متغیر عددی top رو به صورت داخلی تعریف کردین باید این متغیر رو در گلوبال تعریف کنید و فقط  در تابع activity_create  مقدار آن را برابر صفر قرار دهید .

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

بایگانی شده

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

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

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