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

تغییر متن یکی از پنل های مولتی پنل با کلیک


mahfelsoft

سوال

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

 

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

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

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

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

در 27 دقیقه قبل، mahfelsoft گفته است :

این کار رو کردم اما ارور میده که کورسور اینیشیالایز نشده . بعد اون کد رو بعدش گذاشتم اما روی هر پنل که کلیک میکنم به جای اینکه خود اون پنل متنش تغییر کنه متن مورد نظر توی آخرین پنل لود میشه .

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

Dim iz As Panel
	iz = Sender
	Dim c As Cursor
	LabelContent = iz.GetView(0)

	c = Bank.ExecQuery("SELECT * FROM ayat WHERE id="&iz.tag)
	c.position = 0

	LabelContent.Text = c.GetString("tarjome")

0 مشخص میکنه ویو شما کجاست هر ویوی که به پنل اضافه می کنید این عدد بیشتر میشه ببینید که لیبل شما عدد چنده

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

سلام

شما ایدی رو به عنوان تگ پنل اگه انتخاب کنید به راحتی می تونید این کار رو انجام بدید.

زمان کلیک شدن، تگ پنل رو به عنوان ایدی بدید و متن ستون دیگه رو بگیرید و به لیبل یا هر ویویی که هست بدید.

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

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

سلام

شما ایدی رو به عنوان تگ پنل اگه انتخاب کنید به راحتی می تونید این کار رو انجام بدید.

زمان کلیک شدن، تگ پنل رو به عنوان ایدی بدید و متن ستون دیگه رو بگیرید و به لیبل یا هر ویویی که هست بدید.

بله تگ پنل رو آی دی دادم و برای کلیک پنل هم اینو نوشتم:

	Dim iz As Panel
	iz = Sender
	Dim c As Cursor

	c = Bank.ExecQuery("SELECT * FROM ayat WHERE id="&iz.tag)
	LabelContent.Text = c.GetString("tarjome")

 

 

اما ارور میده :

 

Capture.JPG

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

سلام

این کد رو یادتون رفته بود بنویسید »

C.Position = 0

قبل از این کد بنویسید »

LabelContent.Text = c.GetString("tarjome")

 

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

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

سلام

این کد رو یادتون رفته بود بنویسید »


C.Position = 0

قبل از این کد بنویسید »


LabelContent.Text = c.GetString("tarjome")

 

این کار رو کردم اما ارور میده که کورسور اینیشیالایز نشده . بعد اون کد رو بعدش گذاشتم اما روی هر پنل که کلیک میکنم به جای اینکه خود اون پنل متنش تغییر کنه متن مورد نظر توی آخرین پنل لود میشه .

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

در 8 دقیقه قبل، amir54 گفته است :

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


Dim iz As Panel
	iz = Sender
	Dim c As Cursor
	LabelContent = iz.GetView(0)

	c = Bank.ExecQuery("SELECT * FROM ayat WHERE id="&iz.tag)
	c.position = 0

	LabelContent.Text = c.GetString("tarjome")

0 مشخص میکنه ویو شما کجاست هر ویوی که به پنل اضافه می کنید این عدد بیشتر میشه ببینید که لیبل شما عدد چنده

خوب درسته .

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

در 1 دقیقه قبل، mahfelsoft گفته است :

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

شما سورس رو بفرستین من همین الان برای شما درست میکنم یا برنامه anydesk رو بگیرین رو کامپیوتر شما انجام بدم

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

دوستم

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

شما باید TAG  مربوط به VIEW  رو بگیریدو چک کنید با تگ پنل یگی بود.چگ کنید ویو لیبل بود متن رو قرار بده داخلش.

نتونستید کدشو بنویسید بگید تا قرار بدم

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

در 18 ساعت قبل، amir54 گفته است :

شما سورس رو بفرستین من همین الان برای شما درست میکنم یا برنامه anydesk رو بگیرین رو کامپیوتر شما انجام بدم

نه با همین کد درست شد .

اما حالا چکار کنم که اگه دوباره روش کلیک شده همون قبلیشو بیاره؟

یعنی یه بار کلیک بشه عربیشو بیاره . یه بار کلیک بشه متن قبلی و الی آخر .....

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

در 2 ساعت قبل، mahfelsoft گفته است :

نه با همین کد درست شد .

اما حالا چکار کنم که اگه دوباره روش کلیک شده همون قبلیشو بیاره؟

یعنی یه بار کلیک بشه عربیشو بیاره . یه بار کلیک بشه متن قبلی و الی آخر .....

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

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

اینم کد

Sub panel_Click
	'اگه ایدی شما اینطوری بود
	'mesleh : 1_Fa    ya     2_Fa
	
	Private iz As Panel = Sender
	Private c As Cursor
	Private tag() As String
	tag = Regex.Split("_",iz.Tag)
	LabelContent = iz.GetView(0)

	If tag(1) = "Fa" Then
		c = Bank.ExecQuery($"SELECT * FROM ayat WHERE id=${tag(0)} AND language='Ar'"$)
		tag(1) = "Ar"
	Else
		c = Bank.ExecQuery($"SELECT * FROM ayat WHERE id=${tag(0)} AND language='Fa'"$)
		tag(1) = "Fa"
	End If
	
	iz.Tag = tag(0) & "_" & tag(1)
	c.position = 0

	LabelContent.Text = c.GetString("tarjome")
End Sub

 

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

در 6 دقیقه قبل، amir54 گفته است :

اینم کد


Sub panel_Click
	'اگه ایدی شما اینطوری بود
	'mesleh : 1_Fa    ya     2_Fa
	
	Private iz As Panel = Sender
	Private c As Cursor
	Private tag() As String
	tag = Regex.Split("_",iz.Tag)
	LabelContent = iz.GetView(0)

	If tag(1) = "Fa" Then
		c = Bank.ExecQuery($"SELECT * FROM ayat WHERE id=${iz.tag} AND language='Ar'"$)
		tag(1) = "Ar"
	Else
		c = Bank.ExecQuery($"SELECT * FROM ayat WHERE id=${iz.tag} AND language='Fa'"$)
		tag(1) = "Fa"
	End If
	
	iz.Tag = tag(0) & "_" & tag(1)
	c.position = 0

	LabelContent.Text = c.GetString("tarjome")
End Sub

 

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

If tag(1) = "Fa" Then

اینو کجا باید تعریف کنم قبلش ؟ (موقع لود پنل ها من تگ پنل رو فقط آی دی دادم)

 

و لطفا این خط رو هم توضیح بدید

	c = Bank.ExecQuery($"SELECT * FROM ayat WHERE id=${iz.tag} AND language='Fa'"$)

 

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

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

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


If tag(1) = "Fa" Then

اینو کجا باید تعریف کنم قبلش ؟ همون اول که دارید به پنل لیبل رو اضافه می کنید

 

و لطفا این خط رو هم توضیح بدید


	c = Bank.ExecQuery($"SELECT * FROM ayat WHERE id=${tag(0)} AND language='Fa'"$)

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

تازه شما باید یه فیلد به دیتابیس اضافه کنید به اسم language

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

در 1 دقیقه قبل، amir54 گفته است :

تازه شما باید یه فیلد به دیتابیس اضافه کنید به اسم language

توی دیتابیس یه ستون به اسم language که ؟

خوب ببینید من توی هر رکورد ( هر آی دی ) یک ستون متن عربی دارم یک ستون متن فارسی . خوب توی ستون language چی باید بنویسم ؟

 

و اینکه همون اول که متن رو به پنل دادم تگ پنل رو فقط آی دی دادم .

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

در 10 دقیقه قبل، mahfelsoft گفته است :

توی دیتابیس یه ستون به اسم language که ؟

خوب ببینید من توی هر رکورد ( هر آی دی ) یک ستون متن عربی دارم یک ستون متن فارسی . خوب توی ستون language چی باید بنویسم ؟

 

و اینکه همون اول که متن رو به پنل دادم تگ پنل رو فقط آی دی دادم .

خوب شما اینکار رو انجام بدین


Sub panel_Click
	'اگه ایدی شما اینطوری بود
	'mesleh : 1_Fa    ya     2_Fa
	
	Private iz As Panel = Sender
	Private c As Cursor
	Private tag() As String
	
	LabelContent = iz.GetView(0)
	
	tag = Regex.Split("_",iz.Tag)
	
	c = Bank.ExecQuery($"SELECT * FROM ayat WHERE id=${tag(0)}"$)
	c.position = 0

	If tag(1) = "Fa" Then
		LabelContent.Text = c.GetString("tarjomeArabi")
		tag(1) = "Ar"
	Else
		LabelContent.Text = c.GetString("tarjomeFarsi")
		tag(1) = "Fa"
	End If
	
	iz.Tag = tag(0) & "_" & tag(1)
End Sub

 

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

بایگانی شده

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

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

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