رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

بایگانی شده

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

  • 0
KMOHAMMAD

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

سوال

KMOHAMMAD    9

کاربر عادی

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

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

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

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

2.JPG

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


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

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

پست های پیشنهاد شده

KMOHAMMAD    9

کاربر عادی

دوستان و بزرگوارن یکی اینو نگاه کنه
ببینه میشه چنین  کاری را کرد یا نه؟؟

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
mehdi.m    157

کاربر رو به رشد

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

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

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

 

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

SELECT * FROM tbcar ORDER BY count ASC

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

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

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


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

کاربر عادی

در 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

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
mehdi.m    157

کاربر رو به رشد

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 مطلب هست که توی حلقه داده شده به لیست ویو

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


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

کاربر عادی

در در 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 مطلب هست که توی حلقه داده شده به لیست ویو

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

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


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

کاربر عادی

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

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

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

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

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


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

کاربر عادی

سلام
کد آپدیت درست کردم
ولی یه مشکل هست که وقتی لاگ میگیرم مقدار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

 

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


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

کاربر عادی

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

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


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

×
×
  • جدید...