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

جابجایی ایتم های لیست ویو بر حسب تعداد کلیک ایتم


KMOHAMMAD

سوال

سلام
من توی دیتابیس آفلاین  چند ردیف دارم:
1.JPG

اومدم اینها را توی اکتویتی اول خودم بخش car , com را لود کردم و در اکتویتی دوم هم بخشinfo لود میشه 
حالا سوال اینه که من میخام ردیف های  که توی دیتابیس قرار دادم بر حسب کلیکی که روی هر ایتم میشه  جابجا بشه

یکی از دوستان گفته بود که یه ستون بذار به عنوان شمارنده   کلیک ها    count   و بر حسب تعداد اون شمارنده ایتم ها  جابجا بشه،  ولی نمیشه

یعنی مثلا اگر  ایدی 3 تعداد کلیک هاش بیشتر بود اون بیاد بالای لیست ویو من قرار بگیره
این کدهای من توی ایتم کلیک لیست ویو هست ولی جواب نمیده

2.JPG

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

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

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

سلام دوست عزیز

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

ولی توی خوندنشون میتونی.

 

طبق روشی که گفتین یه ستون جدید به اسم conut ایجاد کنید بعد توی لود بگید بر اساس این count از بالا به پایین نمایش داده بشه با دستور sql

SELECT * FROM tbcar ORDER BY count ASC

ASC صعودی و DESC نزولی هست

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

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

در 7 ساعت قبل، mehdi.m گفته است :

سلام دوست عزیز

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

ولی توی خوندنشون میتونی.

 

طبق روشی که گفتین یه ستون جدید به اسم conut ایجاد کنید بعد توی لود بگید بر اساس این count از بالا به پایین نمایش داده بشه با دستور sql

SELECT * FROM tbcar ORDER BY count ASC

ASC صعودی و DESC نزولی هست

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

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

Sub Process_Globals
     Dim sql As SQL
	 Dim curs As Cursor
	 Dim meghdar As Int
End Sub
Sub Globals
	Private ListView1 As ListView
End Sub
Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout1")
	File.Copy(File.DirAssets,"test.db",File.DirInternal,"test.db")
	sql.Initialize(File.DirInternal,"test.db",True)

	curs=sql.ExecQuery("SELECT * FROM tbcar ORDER BY count ")
	For i=1 To curs.RowCount-2
		curs.Position=i
		ListView1.AddTwoLines2(curs.GetString("car"),curs.GetString("com"),i)
	Next
	ListView1.TwoLinesLayout.Label.Width=95%x
	ListView1.TwoLinesLayout.SecondLabel.Width=90%x
End Sub
	Sub ListView1_ItemClick (Position As Int, Value As Object)
	curs=sql.ExecQuery("SELECT count FROM tbcar ASC")
	curs.Position=0
	Dim count As Int
	count=curs.GetString("count")
	sql.ExecNonQuery2("UPDATE tbcar set count=? where id=? " , Array As Object(count+1,Position))

	meghdar=Position
	StartActivity(info)
	End Sub

 

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

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout1")
	File.Copy(File.DirAssets,"test.db",File.DirInternal,"test.db")
	sql.Initialize(File.DirInternal,"test.db",True)

	curs=sql.ExecQuery("SELECT * FROM tbcar ORDER BY count ASC ")
	For i=1 To curs.RowCount-2
		curs.Position=i
		ListView1.AddTwoLines2(curs.GetString("car"),curs.GetString("com"),curs.GetInt("id"))
	Next
	ListView1.TwoLinesLayout.Label.Width=95%x
	ListView1.TwoLinesLayout.SecondLabel.Width=90%x
End Sub
	Sub ListView1_ItemClick (Position As Int, Value As Object)
	curs=sql.ExecQuery("SELECT id,count FROM tbcar WHERE id ="&Value)
	curs.Position=0
	Dim count As Int=curs.GetInt("count")
    count=count+1
	sql.ExecNonQuery2("UPDATE tbcar set count="&count&" WHERE id="&Value)

	meghdar=Value
	StartActivity(info)
	End Sub

اگه غلط املایی داره خودتون درست کنید دستی نوشتم:gamer1:

خط meghdar=Value 

Value همون id مطلب هست که توی حلقه داده شده به لیست ویو

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

در در 1398/04/12, 10:36:45، mehdi.m گفته است :

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout1")
	File.Copy(File.DirAssets,"test.db",File.DirInternal,"test.db")
	sql.Initialize(File.DirInternal,"test.db",True)

	curs=sql.ExecQuery("SELECT * FROM tbcar ORDER BY count ASC ")
	For i=1 To curs.RowCount-2
		curs.Position=i
		ListView1.AddTwoLines2(curs.GetString("car"),curs.GetString("com"),curs.GetInt("id"))
	Next
	ListView1.TwoLinesLayout.Label.Width=95%x
	ListView1.TwoLinesLayout.SecondLabel.Width=90%x
End Sub
	Sub ListView1_ItemClick (Position As Int, Value As Object)
	curs=sql.ExecQuery("SELECT id,count FROM tbcar WHERE id ="&Value)
	curs.Position=0
	Dim count As Int=curs.GetInt("count")
    count=count+1
	sql.ExecNonQuery2("UPDATE tbcar set count="&count&" WHERE id="&Value)

	meghdar=Value
	StartActivity(info)
	End Sub

اگه غلط املایی داره خودتون درست کنید دستی نوشتم:gamer1:

خط meghdar=Value 

Value همون id مطلب هست که توی حلقه داده شده به لیست ویو

چشم نگاه می کنم
خبرتون میکنم

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

سلام
این خط کد که نوشتید 
 

sql.ExecNonQuery2("UPDATE tbcar set count="&count&" WHERE id="&Value)

سه پارامت رداره
هرکارش می کنم که خطا رفع بشه 

نمیشه
خطای پارامتر میده؟؟
 

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

سلام
کد آپدیت درست کردم
ولی یه مشکل هست که وقتی لاگ میگیرم مقدارcount تغییر نمیکنه و همون عدد 1 هست که برای بار اول من توی دیتابیس بهش دادم  
نمیدونم مشکل از کد اپدیت هست توی ایتم کلیک لیست ویو یا کد مرتب سازی در اکتویتی کریت 
 

ub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout1")
	File.Copy(File.DirAssets,"test.db",File.DirInternal,"test.db")
	sql.Initialize(File.DirInternal,"test.db",True)
	
	curs=sql.ExecQuery("SELECT * FROM tbcar ORDER BY count ASC ")
	
	For i=1 To curs.RowCount-2
		curs.Position=i
		ListView1.AddTwoLines2(curs.GetString("car"),curs.GetString("com"),curs.GetInt("id"))
		Log(curs.GetInt("count"))
	Next

	ListView1.TwoLinesLayout.Label.Width=95%x
	ListView1.TwoLinesLayout.SecondLabel.Width=90%x
End Sub
	Sub ListView1_ItemClick (Position As Int, Value As Object)
    
	
	curs=sql.ExecQuery("SELECT id,count FROM tbcar WHERE id ="&Value)
	curs.Position=0
	Dim count As Int=curs.GetInt("count")
	count=count+1
	sql.ExecNonQuery("UPDATE tbcar set count= ' "& count &" ' WHERE id=' "& Value &" ' ")
	Activity_Create(True)
	
	
	meghdar=Value
	StartActivity(info)
	End Sub

 

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

بایگانی شده

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

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

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