رفتن به مطلب

گرفتن Value دوم در ListView TwoLine


مهدی ایزدی

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

سلام خدمت همه

عجله دارم پس سریع توضیح میدم.

همه میدونید که توی ListView_ItemClick وقتی که بخواهیم یک مقدار رو بگیریم باید Value رو بگونیم مثلا توی مسیج باکس ...

ولی اگه از ListView1.AddTwoLines استفاده کرده باشید Value فقط مقدار خط اول یا همون Line1 رو به شما میده.

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

یک ListView توی Designer اضافه میکنیم و :

Sub Globals
   Dim ListLine1() As String
   Dim ListLine2() As String
   Private ListView1 As ListView
End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("Layout1")
   ListLine1 = Array As String("Mehdi", "Farzad", "Armin")
   ListLine2 = Array As String("Izadi", "Musavi", "Ramzani")
   For i = 0 To (ListLine1.Length - 1)
   ListView1.AddTwoLines2(ListLine1(i), ListLine2(i), i)
Next
End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
Msgbox(ListLine2(Value), ListLine1(Value))
End Sub

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

بقیش نکته ای نداره دیگه.

اگه جایی نامفهومه بگید توضیح بدم.

موفق باشید

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

این برناممه

Sub Process_Globals

   Type twostrings (lo As String ,ma As String) 
End Sub

اینجا میخوام دوخط رو ذخیره کنم

Sub search_Click

lv.Clear
list1.Clear
Dim two As twostrings
two.Initialize
Dim cur As Cursor
Select st 
   Case "ا"
    cur=s.ExecQuery("SELECT loghat,mani FROM farhang WHERE loghat LIKE 'ا%' and loghat LIKE '%"&EditText1.Text&"%'")
    For i = 0 To cur.RowCount-1
    cur.Position=i
   two.lo=cur.GetString("loghat")
    two.ma=cur.GetString("mani")
    list1.Add(two)
    lv.AddTwoLines2(cur.GetString("loghat"),cur.GetString("mani"),i)
    Next

    Case "آ"
    cur=s.ExecQuery("SELECT loghat,mani FROM farhang WHERE loghat LIKE 'آ%' and loghat LIKE '%"&EditText1.Text&"%'")
    For i = 0 To cur.RowCount-1
    cur.Position=i
    two.lo=cur.GetString("loghat")
    two.ma=cur.GetString("mani")
    list1.Add(two)
    lv.AddTwoLines2(cur.GetString("loghat"),cur.GetString("mani"),i)
    Next

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

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

میتونم بدونم شما هدف نهاییتون از کدهای search_Click چی هستش؟

چیزی که از کدهاتون میفهمم حس میکنم کامل نیستش. لطفا روندی که میخواید طی بشه رو توضیح بدید.

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

میتونم بدونم شما هدف نهاییتون از کدهای search_Click چی هستش؟

چیزی که از کدهاتون میفهمم حس میکنم کامل نیستش. لطفا روندی که میخواید طی بشه رو توضیح بدید.

سرچ لغت هستش از دیتابیس.

میره لغاتی که مثلا با آ شروع میشرو میگیره.

حالا چجوری تو رویداد کلیک لیست ویو دو مقدار رو بگیرم

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

  • 5 هفته بعد...

آقای ایزدی همین کدهایی که توضیح دادید رو اگر بخوایم متن هر دو تا خط رو از تکست بگیریم چه کدی باید بدیم ؟ اگه میشه همینطوری که توی پست اول توضیح دادی من رو هم راهنمایی کنید .ممنون

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

  • 1 ماه بعد...

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

یعنی به جای

ListLine1 = Array As String("Mehdi", "Farzad", "Armin")

ListLine2 = Array As String("Izadi", "Musavi", "Ramzani")

شما مقدار اولیه دادین ولی من میخوام خودم مقدار بدم.

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

با استفاده از دستورFor چند مقدار را در لیست ویو دو خط قرار بده و وقتی رو هر یک از مقدار لیست ویو کلیک میکنم خط اول و خط دوم را در msgbox نمایش بده.

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

یعنی اون اسمهایی که نوشت اونجا( "Mehdi", "Farzad", "Armin) میخوام این اسمهارو از ورودی بگیرم . ان تا اسم بگیرم و در لیست ویو دو خطی قرار بدم و وقتی که رو هر یک کلیک کردم در msgbox هر دو خط رو نمایش بده .

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

خوب دوست عزیز آقای ایزدی همین کد رو گذاشتن دیگه چه مشکلی هست!!!!!!!!*fekr**fekr**che?*

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

Dustaye Azizam Sample Aghay e Izadi, Index Ro Save Mikone Va Bad Az Oun Estefade Mikone Baray e Load Kardan e Arraye ....

Vali Baray e Karay e Dige Kami Fargh Mikone ...

Chun Ma Hame Ja Array Nadarim Mage Ghablesh Besazim

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

دوست عزیز یک برنامه میخوام دو تا تکست باکس و یک دکمه داشته باشم و هر وقت رو دکمه کلیک میکنم هر چی توی تکست اول هست داخل خط اول لیست ویو و تکس دوم در خط دوم لیست ویو قرار بده .

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

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

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


#Region Project Attributes
#ApplicationLabel: B4A Example
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region

#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region

Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.

End Sub

Sub Globals
Dim ListLine1() As String
Dim ListLine2() As String
Private ListView1 As ListView
Private Button1 As Button
Private EditText1 As EditText
Private EditText2 As EditText
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout1")
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
Msgbox(ListLine2(Value), ListLine1(Value))
End Sub

Sub Button1_Click
ListLine1 = Array As String(EditText1.Text)
ListLine2 = Array As String(EditText1.Text)

For i = 0 To (ListLine1.Length - 1)
ListView1.AddTwoLines2(ListLine1(i), ListLine2(i), i)
Next
End Sub

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

میخوا هرچی تو تکست اول هست در خط اول و هرچی تو تکست دوم هست در خط دوم لیست ویو با فشردن دکمه قرار بده و وقتی رو هر یک از داده های لیست ویو کلیک میکنم خط اول و خط دوم در msgbox نمایش بده .

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

خیلی به این کد نیاز دارم


#Region Project Attributes
#ApplicationLabel: B4A Example
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region

#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region

Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.


End Sub

Sub Globals
Dim ListLine1() As String
Dim ListLine2() As String
Private ListView1 As ListView
Private Button1 As Button
Private EditText1 As EditText
Private EditText2 As EditText
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout1")
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
Msgbox(ListLine2(Value), ListLine1(Value))
End Sub

Sub Button1_Click
ListLine1 = Array As String(EditText1.Text)
ListLine2 = Array As String(EditText2.Text)
For i = 0 To (ListLine1.Length - 1)
ListView1.AddTwoLines2(ListLine1(i), ListLine2(i), i)
Next
End Sub

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

بایگانی شده

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

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

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