رفتن به مطلب

سرچ در لیست ویو در basic4android


MR.B4A

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

search_answer.jpg

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

سورس:

Sub Process_Globals
	Private sql As SQL
	Private cur, cur_search As Cursor
End Sub

Sub Globals
	Private clv As CustomListView
	Private su As StringUtils
	
	Private txt_search As EditText
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout")
	
	clv.Initialize(Me,"clv")
	Activity.AddView(clv.AsView,0,50%y,100%x,50%y)
	
	If File.Exists(File.DirInternal,"db.db")=False Then
		File.Copy(File.DirAssets,"db.db",File.DirInternal,"db.db")
	End If
	
	If sql.IsInitialized=False Then
		sql.Initialize(File.DirInternal,"db.db",True)
	End If
	
	cur=sql.ExecQuery("SELECT * FROM tbl_item")
	
	For i=0 To cur.RowCount-1
		cur.Position=i
		
		Private p As Panel
		Private p2 As Panel
		Private lblname, lblfamily As Label
		
		p.Initialize("")
		p2.Initialize("")
		lblfamily.Initialize("")
		lblname.Initialize("")
		
		clv.Add(p,15%y,i)
		
		p.Color=Colors.RGb(221,221,221)
		
		p.AddView(p2,3%x,1%y,94%x,12%y)
		p2.Color=Colors.RGB(Rnd(0,225),Rnd(0,225),Rnd(0,225))
		p2.Elevation=5dip
		
		p2.AddView(lblfamily,40%x,3%y,30%x,3%y)
		lblfamily.Text=cur.GetString("family")
		lblfamily.TextColor=Colors.White
		lblfamily.TextSize=14
		lblfamily.Gravity=Gravity.CENTER
		lblfamily.Typeface=Typeface.DEFAULT
		lblfamily.Height=su.MeasureMultilineTextHeight(lblfamily,lblfamily.Text)
		
		p2.AddView(lblname,2%x,3%y,50%x,3%y)
		lblname.Text=cur.GetString("name")
		lblname.TextColor=Colors.White
		lblname.TextSize=14
		lblname.Gravity=Gravity.CENTER
		lblname.Typeface=Typeface.DEFAULT_BOLD
		lblname.Height=su.MeasureMultilineTextHeight(lblname,lblname.Text)
	Next
	
End Sub

Private Sub activity_PermissionResult (Permission As String, Result As Boolean)
	
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Private Sub txt_search_TextChanged (Old As String, New As String)
	clv.Clear
	cur_search=sql.ExecQuery("SELECT * FROM tbl_item WHERE name LIKE '%"&txt_search.Text&"%'")
	
	For i=0 To cur_search.RowCount-1
		cur_search.Position=i
		
		Private p As Panel
		Private p2 As Panel
		Private lblname, lblfamily As Label
		
		p.Initialize("")
		p2.Initialize("")
		lblfamily.Initialize("")
		lblname.Initialize("")
		
		clv.Add(p,15%y,i)
		
		p.Color=Colors.RGb(221,221,221)
		
		p.AddView(p2,3%x,1%y,94%x,12%y)
		p2.Color=Colors.RGB(Rnd(0,225),Rnd(0,225),Rnd(0,225))
		p2.Elevation=5dip
		
		p2.AddView(lblfamily,40%x,3%y,30%x,3%y)
		lblfamily.Text=cur_search.GetString("family")
		lblfamily.TextColor=Colors.White
		lblfamily.TextSize=14
		lblfamily.Gravity=Gravity.CENTER
		lblfamily.Typeface=Typeface.DEFAULT
		lblfamily.Height=su.MeasureMultilineTextHeight(lblfamily,lblfamily.Text)
		
		p2.AddView(lblname,2%x,3%y,50%x,3%y)
		lblname.Text=cur_search.GetString("name")
		lblname.TextColor=Colors.White
		lblname.TextSize=14
		lblname.Gravity=Gravity.CENTER
		lblname.Typeface=Typeface.DEFAULT_BOLD
		lblname.Height=su.MeasureMultilineTextHeight(lblname,lblname.Text)
	Next
End Sub

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

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

بایگانی شده

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

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

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