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

وجود نداشتن متد spiner.selectvalue


azad222

سوال

سلام
من یک جدول در دیتابیس دارم که دو فیلد یکی کد و دیگر عنوان هست.
مشکل اینجاست که در اسپینتر نمیشه مقدار کد را پشت عنوان گذاشت تا مقدار کد تویه دیتابیس ذخیره بشه.
یعنی مثل 
combobox در ویژوال استدیو نیست که بتونم
combobox.selectvalue
رو بگیرم

جایگزین دستور 
spiner.selectedvalue
چه راه حلی برای اینکار وجود داره؟ 

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

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

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

در 23 ساعت قبل، softir گفته است :

سلام براتون ساختم می تونید ببینید . سورس + apk

http://s8.picofile.com/file/8273474850/daneshamoz.zip.html


Sub Process_Globals
	Dim sql As SQL	
End Sub

Sub Globals
	Private Button1 As Button
	Private Spinner1 As Spinner
	Dim cur As Cursor
	Private Spinner2 As Spinner
	Dim i As Int
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("L1")
	
	If (File.Exists(File.DirInternal,"num.db") = False) Then
		File.Copy(File.DirAssets,"num.db",File.DirInternal,"num.db")
	End If
	
	sql.Initialize(File.DirInternal,"num.db",False)	
	
	cur = sql.ExecQuery("select * from num")
	
	
	For i = 0 To cur.RowCount - 1
		cur.Position = i
		Spinner1.Add(cur.GetString("id") & " - " & "" & cur.GetString("title"))
		
	Next
	
End Sub


Sub Spinner1_ItemClick (Position As Int, Value As Object)
		Button1.Text = Value
		Spinner2.Clear
		cur.Position = Position
		Spinner2.Add("شماره - " & cur.GetString("id"))
		Spinner2.Add("اسم - " & cur.GetString("title"))
		Spinner2.Add("فامیلی - " & cur.GetString("name"))
		Spinner2.Add("سن - " & cur.GetString("sen"))
		Spinner2.Add("معدل - " & cur.GetString("moadel"))		
End Sub

 

سلام

منظورم این نیست، 

در قسمتی که اسپینر رو پر می کنی بازهم کد میاد یعنی به اینصورت به کاربر نشون داده میشه.

1-راهنمایی

2-ابتدایی

من نمیخوام کاربر کد رو ببینه.

 

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

نمیدونم برادر ولی حس می کنم شما کد حاضر و اماده میخوایید.

خب شما راحت می تونید اون قسمت کد رو بردارید کار خاصی که نداره.

		Spinner1.Add(cur.GetString("title"))

به این شکل، کار خاصی نمیخواد که انجام بدید.

 

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

در 32 دقیقه قبل، مجید آرتا گفته است :

نمیدونم برادر ولی حس می کنم شما کد حاضر و اماده میخوایید.

خب شما راحت می تونید اون قسمت کد رو بردارید کار خاصی که نداره.


		Spinner1.Add(cur.GetString("title"))

به این شکل، کار خاصی نمیخواد که انجام بدید.

 

نه کد آماده نیاز ندارم، شما اشاره ای کنید من متوجه میشم ولی پاسخ ها اون چیزی نیستند که من میخوام.

این کد

        Spinner1.Add(cur.GetString("title"))

تنها کاری که انجام میده میاد و اسپینر رو با استفاده از یک ستون پر می کنه من گفتم دو ستون دارم یکی برای عنوان و دیگری برای کد، من میخام وقتی کاربر مثلا ابتدایی رو انتخاب کرد کد 15 (کدی که در دیتابیس هست) را بگیرم.

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

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

خب دوستم از WHERE  توی کوئریتون استفاده کنید »

Sub Spinner1_ItemClick (Position As Int, Value As Object)
  Dim cr As Cursor = SQL.Execquery("SELECT * FROM table WHERE title="&Value)
  cr.Position = 0
  ToastMessageShow("Your Code :" & cr.GetInt("code"),True)
End Sub

 

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

در هم اکنون، azad222 گفته است :

نه کد آماده نیاز ندارم، شما اشاره ای کنید من متوجه میشم ولی پاسخ ها اون چیزی نیستند که من میخوام.

این کد

        Spinner1.Add(cur.GetString("title"))

تنها کاری که انجام میده میاد و اسپینر رو با استفاده از یک ستون پر می کنه من گفتم دو ستون دارم یکی برای عنوان و دیگری برای کد، من میخام وقتی کاربر مثلا ابتدایی رو انتخاب کرد کد 15 (کدی که در دیتابیس هست) را بگیرم.

سلام

با استفاده از همین برنامه ای که نوشتم می تونی همونی رو که می گی درست کنی . فقط کافی یکم رو این کد های تو این برنامه فکر کنی

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

در 8 دقیقه قبل، مجید آرتا گفته است :

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

خب دوستم از WHERE  توی کوئریتون استفاده کنید »


Sub Spinner1_ItemClick (Position As Int, Value As Object)
  Dim cr As Cursor = SQL.Execquery("SELECT * FROM table WHERE title="&Value)
  cr.Position = 0
  ToastMessageShow("Your Code :" & cr.GetInt("code"),True)
End Sub

 

نه منظورم این هم نیست درست سوالمو مطرح نکردم، صبر کنید یک عکس با توضیحات کامل می نویسم که درست متوجه بشید.

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

در در 1395/08/12, 09:28:01، مهدی ایزدی گفته است :

درود

منظورتون رو درست متوجه نشدم من

خب اگه میخواهید فقط عنوان توی Spinner اضافه بشه این رو بزارید :


Spinner1.Add(cur.GetString("title"))

 

 

به این صورت انجام دادم، حالا فرض کنبد من یک فیلد با نام تحصیلات در دیتابیس دارم و اسپینر رو هم بصروت زیر پر کردم:

دوره: ابتدایی | راهنمایی | دبیرستان

و در داخل دیتابیس هم همین مقادیر رو ذخیره کردم حالا برای اینکه دوباره که اکتویتی در حالت ویرایش بره همون مورد ( مثلا) راهنمایی انتخاب بشه باید چکار کنم؟

 

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

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

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

Sub Globals
	Private Button1 As Button
	Private Spinner1 As Spinner
	Dim sql As SQL
	Dim cur As Cursor
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("L1")
	
	If (File.Exists(File.DirInternal,"num.db") = False) Then
		File.Copy(File.DirAssets,"num.db",File.DirInternal,"num.db")
	End If
	
	sql.Initialize(File.DirInternal,"num.db",False)	
	
	cur = sql.ExecQuery("select * from num")
	Dim i As Int
	
	For i = 0 To cur.RowCount - 1
		cur.Position = i
		Spinner1.Add(cur.GetString("id") & " - " & "" & cur.GetString("title"))
	Next
	
End Sub


Sub Spinner1_ItemClick (Position As Int, Value As Object)
		Button1.Text = Value
End Sub

لینک دانلود

http://s9.picofile.com/file/8273014318/test.zip.html

 

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

در 7 ساعت قبل، azad222 گفته است :

نه منظورم این هم نیست درست سوالمو مطرح نکردم، صبر کنید یک عکس با توضیحات کامل می نویسم که درست متوجه بشید.

هر وقت ، وقت کردی یک عکس از توضیحاتت بزار

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

سلام

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

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

در 13 دقیقه قبل، azad222 گفته است :

سلام

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

درود

منظورتون رو درست متوجه نشدم من

خب اگه میخواهید فقط عنوان توی Spinner اضافه بشه این رو بزارید :

Spinner1.Add(cur.GetString("title"))

 

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

در 8 ساعت قبل، azad222 گفته است :

 

به این صورت انجام دادم، حالا فرض کنبد من یک فیلد با نام تحصیلات در دیتابیس دارم و اسپینر رو هم بصروت زیر پر کردم:

دوره: ابتدایی | راهنمایی | دبیرستان

و در داخل دیتابیس هم همین مقادیر رو ذخیره کردم حالا برای اینکه دوباره که اکتویتی در حالت ویرایش بره همون مورد ( مثلا) راهنمایی انتخاب بشه باید چکار کنم؟

 

سلام، متوجه منظورتون نشدم، شما میخوایید این ذخیره حالت قبلی فقط در زمانی که برنامه در حال اجراست صورت بگیره ؟ یا اینکه بعد اینکه پروسس برنامه هم بسته شد و دوباره باز شد همون گزینه ای که انتخاب کردید باقی بمونه ؟

ببنید اگه بخوایید این حالت باقی بمونه، یعنی بعد از اینکه برنامه بسته شد و شما دوباره که اجرا کردید اخرین تغییرات اعمال بشه بهتره از Prefrence  استفاده کنید، اما محدود به زمانیکه از یک اکتویتی به اکتیویتی میرید هستش خب می تونید یک متغییر داخل Process_Globals  تعریف کنیدو id  همون فیلد تحصیلات رو که انتحاب کردید رو ذخیره کنید و هر بار که بین اکتیویتی ها سویچ کردید و این فیلد مربوط به دوره طبق اخرین مورد باشه.

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

در ۱ ساعت قبل، مجید آرتا گفته است :

سلام، متوجه منظورتون نشدم، شما میخوایید این ذخیره حالت قبلی فقط در زمانی که برنامه در حال اجراست صورت بگیره ؟ یا اینکه بعد اینکه پروسس برنامه هم بسته شد و دوباره باز شد همون گزینه ای که انتخاب کردید باقی بمونه ؟

ببنید اگه بخوایید این حالت باقی بمونه، یعنی بعد از اینکه برنامه بسته شد و شما دوباره که اجرا کردید اخرین تغییرات اعمال بشه بهتره از Prefrence  استفاده کنید، اما محدود به زمانیکه از یک اکتویتی به اکتیویتی میرید هستش خب می تونید یک متغییر داخل Process_Globals  تعریف کنیدو id  همون فیلد تحصیلات رو که انتحاب کردید رو ذخیره کنید و هر بار که بین اکتیویتی ها سویچ کردید و این فیلد مربوط به دوره طبق اخرین مورد باشه.

سلام، میخام یک فرم ثبت اطلاعات یک دانشجوی داشته باشم وقتی کاربر روی دکمه ذخیره کلیک کرد اطلاعات در دیتابیس ذخیره بشه و وقتی روی نام داشنجو کلیک شد اطلاعات اون دوباره در اکتیوتی نمایش داده بشن، قسمت های دیگه رو مشکل ندارم ولی قسمت spiner رو نمیدونم چطور ذخیره و بازیابی بشه.

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

ببینید شما هر چنتا گزینه توی اسپینر که دارید، به همون ترتیب زمانی که اون گزینه انتخاب میشه ایندکس همون گزینه رو توی دیتابیس قرار بدید.

خب فرض کنید من به اسپینر این موارد رو اضافه می کنم »

sp.AddAll(Array As String("Ostad","Daneshjoo"))

خب زمانی که توی فرم ثبت نام یکی از این موارد رو انتحاب کردم من میام ایندکس یا همون اندیس اون مورد رو میگیرم و اون رو توی دیتابیس اضافه می کنم »

Private index As Int = sp.SelectedIndex

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

و اما نحوه گرفتن این اطلاعات و ست کردن اسپینر »

sp.SelectedIndex = Cursor.GetInt("feild shuma")

خیلی ساده و راحت.

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

در هم اکنون، azad222 گفته است :

سلام

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

منظورتون اینه :

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

 

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

در 8 ساعت قبل، مجید آرتا گفته است :

ببینید شما هر چنتا گزینه توی اسپینر که دارید، به همون ترتیب زمانی که اون گزینه انتخاب میشه ایندکس همون گزینه رو توی دیتابیس قرار بدید.

خب فرض کنید من به اسپینر این موارد رو اضافه می کنم »


sp.AddAll(Array As String("Ostad","Daneshjoo"))

خب زمانی که توی فرم ثبت نام یکی از این موارد رو انتحاب کردم من میام ایندکس یا همون اندیس اون مورد رو میگیرم و اون رو توی دیتابیس اضافه می کنم »


Private index As Int = sp.SelectedIndex

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

و اما نحوه گرفتن این اطلاعات و ست کردن اسپینر »


sp.SelectedIndex = Cursor.GetInt("feild shuma")

خیلی ساده و راحت.

سلام، این درسته ولی من به هر دوره یک کد خاص دادم مثلا 40، 50، 60 و اگر شماره ایندکس رو در دیتابیس ذخیره کنم اون موقع نمیتونم این جدول را یا جدول دوره ها جوین کنم اگر بخوام هر دو مقدار رو تویه جدول ذخیره کنم ( یعنی selectindex و selectitem ) اون موقع افزونگی به وجود میاد.

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

در هم اکنون، azad222 گفته است :

سلام، این درسته ولی من به هر دوره یک کد خاص دادم مثلا 40، 50، 60 و اگر شماره ایندکس رو در دیتابیس ذخیره کنم اون موقع نمیتونم این جدول را یا جدول دوره ها جوین کنم اگر بخوام هر دو مقدار رو تویه جدول ذخیره کنم ( یعنی selectindex و selectitem ) اون موقع افزونگی به وجود میاد.

سلام براتون ساختم می تونید ببینید . سورس + apk

http://s8.picofile.com/file/8273474850/daneshamoz.zip.html

Sub Process_Globals
	Dim sql As SQL	
End Sub

Sub Globals
	Private Button1 As Button
	Private Spinner1 As Spinner
	Dim cur As Cursor
	Private Spinner2 As Spinner
	Dim i As Int
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("L1")
	
	If (File.Exists(File.DirInternal,"num.db") = False) Then
		File.Copy(File.DirAssets,"num.db",File.DirInternal,"num.db")
	End If
	
	sql.Initialize(File.DirInternal,"num.db",False)	
	
	cur = sql.ExecQuery("select * from num")
	
	
	For i = 0 To cur.RowCount - 1
		cur.Position = i
		Spinner1.Add(cur.GetString("id") & " - " & "" & cur.GetString("title"))
		
	Next
	
End Sub


Sub Spinner1_ItemClick (Position As Int, Value As Object)
		Button1.Text = Value
		Spinner2.Clear
		cur.Position = Position
		Spinner2.Add("شماره - " & cur.GetString("id"))
		Spinner2.Add("اسم - " & cur.GetString("title"))
		Spinner2.Add("فامیلی - " & cur.GetString("name"))
		Spinner2.Add("سن - " & cur.GetString("sen"))
		Spinner2.Add("معدل - " & cur.GetString("moadel"))		
End Sub

 

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

بایگانی شده

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

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

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