select نگه داشتن در لیست ویو
با سلا م من تعدادی عکس رو از دیتا بیسم (SQL) لود میکنم تو لیست ویو با ایمیج لیست .
وقتی یک رکورد رو سلکت میکنم چطور باید تو حالت سلکت نگهش دارم مثلا اگر وقتی سلکت هست خواستم در یک تکست باکس متنی بنویسم از حالت سلکت خارج نشه
راستش خیلی گشتم و کدهای مختلفی استفاده کردم و جواب نگرفتم .
آیا میشه از Trim استفاده کرد؟
ممنون میشم در صورت اطلاع پاسخ بدهید
نقل قول: select نگه داشتن در لیست ویو
سلام-
لیست ویو ی خصوصیت HideSelection داره که باید False بشه.
نقل قول: select نگه داشتن در لیست ویو
ممنونم قبلا این کار رو انجام دادم ولی نشده
نقل قول: select نگه داشتن در لیست ویو
نقل قول:
نوشته شده توسط
پرستو پارسایی
ممنونم قبلا این کار رو انجام دادم ولی نشده
وقتی در TextBox چیزی می نویسید اون آیتمی که قبلا در ListView انتخاب کرده بودید کلا مثل سایر آیتم ها زمینه اش فرضا سفید میشه، یا همچنان متفاوت از بقیه ولی فرضا خاکستری رنگ میشه؟
نقل قول: select نگه داشتن در لیست ویو
کلا رنکش مثل قبلش میشه یعنی در اصل Deselect میشه های لایت یا خاکستری نمیمونه
نقل قول: select نگه داشتن در لیست ویو
نقل قول:
نوشته شده توسط
پرستو پارسایی
کلا رنکش مثل قبلش میشه یعنی در اصل Deselect میشه های لایت یا خاکستری نمیمونه
پس مشکل تون ربطی به وضعیت HideSelection نداره. از اونجایی که خود به خود Selection اش رو از دست نخواهد داد یا جایی در کد دارید مستقیم یا غیر مستقیم محتوای ListView رو از نو پر می کنید یا در رخدادی کاری شبیه به ()listView1.SelectedItems.Clear رو انجام میدید.
مثلا اگر صرفا همچین کدی باشه، انتقال Focus به textBox1 یا تایپ کردن داخلش منجر به از دست رفتن Selection داخل ListView نمیشه :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ListView1.Items.Add(TextBox1.Text)
End Sub
اما اگر همچین کدی رو اضافه کنم تا textBox1 اون Focus رو گرفت انتخاب داخل ListView میپره :
Private Sub TextBox1_Enter(sender As Object, e As EventArgs) Handles TextBox1.Enter
ListView1.SelectedItems.Clear()
End Sub
گاهی اوقات به دلیلی ما ناچار به پر کردن مجدد لیستی میشیم. اینجور مواقع میشه قبل از پر کردن مجدد انتخاب قبلی رو نگهداریم تا بعد از پر کردن مجدد اگر امکانش هست انتخاب قبلی برگردونده بشه :
Dim selection(ListView1.SelectedIndices.Count) As Integer
ListView1.SelectedIndices.CopyTo(selection, 1)
ListView1.SelectedItems.Clear()
ReloadList()
Dim i As Integer
For i = 1 To UBound(selection)
ListView1.SelectedIndices.Add(selection(i))
Next
بدون دیدن کد در همین حد میتونم نظر بدم.
نقل قول: select نگه داشتن در لیست ویو
من بیشتر به بخش گرافیک دو بعدی vb.net علاقه مند هستم و چندان با ابزارهای مختلف vb.net آشنایی ندارم.
در یک فرم همواره فقط می توان، یک شی را در لحظه به صورت انتخاب شده نگه داشت ولی به طور کلی در چنین مواقعی که قابلیت انتخاب از یک شی به شی دیگر می رود ولی همچنان می خواهیم که به نوعی وضعیت انتخاب سطر مورد نظر در لیست هم نمایش داده شود و امیدوارم که منظور سئوالتان را درک کرده باشم.
پس می توان دو راهکار داشت که راهکار اول ساده تر است یعنی باید یک خط کد اضافه نوشت که با انتخاب آن سطر علاوه بر نمایش محتویاتی که قرار است نشان داده شود رنگ آن سطر و اگر امکانش نبود حداقل رنگ نوشته داخل آن سطر تغییر کند و البته در همین راستا باید رنگ سطر انتخاب شده قبلی هم به رنگ معمول دیگر سطرها برگردد که برای شناسایی اینکه قبلا چه سطری انتخاب شده بود می توان شماره سطر انتخاب شده را همواره داخل یک متغییر قرار داد تا ابتدا در کد دستوری گفته شود که رنگ سطر قبلی با شماره سطر داخل متغیر به رنگ عادی برگردد و سپس شماره سطر جدید در متغییر وارد شود.
ولی روش دوم که البته ممکن است در اینجا کاربرد نداشته باشد و بیشتر برای حل مشکلات رسم گرافیکی به کار می رود استفاده از دو فرم جداگانه است یعنی جدول در یک فرم باشد و بخش نمایش محتویات مورد انتخاب شده در یک فرم دیگر که در این حالت چون دو فرم داریم به طور معمول با انتخاب شی دوم دیگر مشکلی در انتخاب شی اول پیش نمی آید چون این دو شی در دو فرم مختلف هستند و تداخلی از نظر انتخاب شدن با یکدیگر ندارند.
ولی با این حال روش اول پیشنهاد می شود که هم ساده تر است و هم محیط نرم افزار از فرم های مختلف شلوغ نمی شود.
نقل قول: select نگه داشتن در لیست ویو
از راهنمایی هر دو دوست گرامی تشکر میکنم همانطور که فرمودید با نگه داشتن مقدار سلکت شده مشکلم حل شد. (سپاسگزارم)