-
1 ضمیمه
جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
سلام دوستان
من زمان ویرایش اطلاعات دیتابیس همه فیلد ها رو داخل چند textbox میریزم و بعد اصلاح میکنم
حالا چون تعداد فیلد های من زیاده و چند شماره داخل هر فیلد هست میخوام زمانی که اطلاعات جهت ویرایش داخل textbox ها نمایش داده شدند یک جستجو بزنم و اون فیلدی که جستجو میشه و داخل تکس باکس هست های لایت بشه و اون فیلدی که داخل داخل textbox مربوطه هست رو ویرایش کنم
حالا باید چکار کرد
من این تصویر رو میخوام
ضمیمه 142913
وقتی شماره ای رو جستجو کردی اونو داخل textbox مربوطه پیدا کنه و های لایت کنه
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
سلام دوستان من تصویر کاری که میخوام انجام بدم رو گذاشتم اگه کسی هست بلد باشه لطفا راهنمایی کنه
ممنون از همه
دوست عزیز این تصویری که شما گذاشتین هایلایت کردن نیست که، ولی شما فقط نیاز دارین یک Label ایجاد کنین و بهش پس زمینه نارنجی بدین همچنین خاصیت Visible رو برابر false قرار بدین، حالا موقعی که دکمه جستجو رو زدین بیاین توسط یک حلقه Foreach محتویات تمامی تکست باکس هارو چک کنین و وقتی محتوی یکی از تکست باکس ها برابر مقدار موردجستجو بود، بیاین خاصیت Text لیبلی که ایجاد کردیم رو برابر مقدار موردجستجو قرار بدین خاصیت Location رو نسبت به تکست باکس مربوطه تنظیم کنین و Visible این لیبل رو برابر true قرار بدین، تمام
کار خیلی راحتیه
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
mr.sirwan
دوست عزیز این تصویری که شما گذاشتین هایلایت کردن نیست که، ولی شما فقط نیاز دارین یک Label ایجاد کنین و بهش پس زمینه نارنجی بدین همچنین خاصیت Visible رو برابر false قرار بدین، حالا موقعی که دکمه جستجو رو زدین بیاین توسط یک حلقه Foreach محتویات تمامی تکست باکس هارو چک کنین و وقتی محتوی یکی از تکست باکس ها برابر مقدار موردجستجو بود، بیاین خاصیت Text لیبلی که ایجاد کردیم رو برابر مقدار موردجستجو قرار بدین خاصیت Location رو نسبت به تکست باکس مربوطه تنظیم کنین و Visible این لیبل رو برابر true قرار بدین، تمام
کار خیلی راحتیه
ممنون دوست عزیز میشه در خصوص کد چک کردن محتویات تکس باکس با استفاده از foreeach توضیخ بدید
در خصوص لیبل که گفتین نمیشه دیگه از لیبل استفاد نشه و فقط وقتی محتویات تکس باکس ها رو چک مردیم و با شماره مورد جستجو مقایسه شد همون تکس با کس مربوطه رو های لایت کنیم؟
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
سلام شما با یک حلقه foreach می تونید این کار رو انجام بدی:
foreach (var item in Controls.OfType<TextBox>())
{
if (textBox1.Text == item.Text)
item.BackColor = Color.Orange;
}
textBox1.Text میتونه مقداری باشه که میخوای با همه تکست باکس ها مقایسه بشه
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
daniyaltjm
سلام شما با یک حلقه foreach می تونید این کار رو انجام بدی:
foreach (var item in Controls.OfType<TextBox>())
{
if (textBox1.Text == item.Text)
item.BackColor = Color.Orange;
}
textBox1.Text میتونه مقداری باشه که میخوای با همه تکست باکس ها مقایسه بشه
ممنون دوست عزیز و لی این کد رو گذاشتم هیچ عملی انجام نداد!!!
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
خوب شما به جای textBox1.Text باید اون مقداری رو که می خوای توی تمام تکست باکس ها بگرده و اگه موجود بود رنگش رو نارنجی کنه رو باید بزاری الان شما چی قرار دادی؟
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
آره منم همون تکس باکس رو قرار دادم کد شما رو داخل یه پروژه جدید که ایجاد کردم گذاشتم به درستی کار کرد و لی تو برنامه خودم کارنکرد علتشم اینه که من از
using
Microsoft.Office.Interop.Excel
واسه کار با اکسل استفاده کردم و الان به textbox گیر میده
foreach (var item in Controls.OfType<TextBox>())
وفتی هم از این استفاده میکنم کد کار نمیکنه
System.Windows.Forms.TextBox
باید چکار کرد؟
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
آره منم همون تکس باکس رو قرار دادم کد شما رو داخل یه پروژه جدید که ایجاد کردم گذاشتم به درستی کار کرد و لی تو برنامه خودم کارنکرد علتشم اینه که من از
using
Microsoft.Office.Interop.Excel
واسه کار با اکسل استفاده کردم و الان به textbox گیر میده
foreach (var item in Controls.OfType<TextBox>())
وفتی هم از این استفاده میکنم کد کار نمیکنه
System.Windows.Forms.TextBox
باید چکار کرد؟
سلام دوست عزیز، شما لطفا کدت رو کامل بذار اینجا و متن ارور رو هم بذار ببینیم چطور با وجود استفاده از System.Windows.Forms.TextBox بازم ارور میده؟!
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
ممنون دوست عزیز میشه در خصوص کد چک کردن محتویات تکس باکس با استفاده از foreeach توضیخ بدید
در خصوص لیبل که گفتین نمیشه دیگه از لیبل استفاد نشه و فقط وقتی محتویات تکس باکس ها رو چک مردیم و با شماره مورد جستجو مقایسه شد همون تکس با کس مربوطه رو های لایت کنیم؟
همونطور که دوست خوبمون نمونه کد گذاشتن شما میتونی رنگ خود تکست باکس رو عوض کنی و همچنین میتونی متن رو در حالت انتخاب قرار بدی، نحوه انتخاب متن به اینصورت هست:
TextBox.Focus();
TextBox.SelectAll();
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
این uising هایی که استفاده شده
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.Sql;
using System.Windows.Forms;
using System.Reflection;
using System.Windows.Forms.Design;
using System.IO;
using System.Data.SqlClient;
using System.Globalization;
using System.Runtime.InteropServices;
using EMsgBox;
using Microsoft.Office.Interop.Excel;
using System.Configuration;
using System.Data.OleDb;
using System.Drawing.Drawing2D;
using System.Resources;
using Excel = Microsoft.Office.Interop.Excel;
اینم کد شما
foreach (var item in Controls.OfType<System.Windows.Forms.TextBox>())
{
if (textBoxX26.Text == item.Text)
item.BackColor = Color.Orange;
}
در این صورت ارور نمیده ولی کار هم نمیکنه
همین کد شما رو وقتی در یک پروژه دیگه که از
using Microsoft.Office.Interop.Excel;
استفاده نشده قرار میدم به درستی کار میکنه
حالا مشکل چیه به نظر شما
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
سلام
آیا TextBox های شما ، همون تکست باکس های استاندارد دات نت هستن؟ از اسم TextBoxX26 به نظر میاد اینطور نیست
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
این uising هایی که استفاده شده
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.Sql;
using System.Windows.Forms;
using System.Reflection;
using System.Windows.Forms.Design;
using System.IO;
using System.Data.SqlClient;
using System.Globalization;
using System.Runtime.InteropServices;
using EMsgBox;
using Microsoft.Office.Interop.Excel;
using System.Configuration;
using System.Data.OleDb;
using System.Drawing.Drawing2D;
using System.Resources;
using Excel = Microsoft.Office.Interop.Excel;
اینم کد شما
foreach (var item in Controls.OfType<System.Windows.Forms.TextBox>())
{
if (textBoxX26.Text == item.Text)
item.BackColor = Color.Orange;
}
در این صورت ارور نمیده ولی کار هم نمیکنه
همین کد شما رو وقتی در یک پروژه دیگه که از
using Microsoft.Office.Interop.Excel;
استفاده نشده قرار میدم به درستی کار میکنه
حالا مشکل چیه به نظر شما
شما مطمئنین که دارین از کنترل های خود Visual Studio استفاده میکنین و ار هیچ کامپوننتی جهت زیباسازی کنترل ها استفاده نمیکنین؟
اگه اون عکسی که توو پست اول گذاشتین مال خودتون باشه، پس در اینصورت از کامپوننت استفاده میکنین، باید از کلاس های همون کامپوننت به جای System.Windows.Forms.TextBox استفاده کنین
با عرض پوزش از جناب آشتیانی عزیز، جواب ها همزمان ارسال شدن :گیج: :لبخندساده:
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
سلام نه من ازdevconmonnent استفاده میکنم
البته داحل اون پروژه جدید که قرار دادم اونجا با dev کار کرد مشکلی نداشت
ولی اینجا فقط به کلمه textbox
گیر میده اونم به خاطر استفاده از
using Microsoft.Office.Interop.Excel;
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
شما به جای System.Windows.Forms.TextBox از DevComponent.DotNetBar.Controls.TextBoxX داخل حلقه استفاده کنین
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
دوستان فکر کنم مشکل از همون عدم استفاده از کلاس devcomponnent به جای
System.Windows.Forms.TextBox
این کلاس هستش
حالا چطوری از کلاس dev به جای کد بالا استقاده کنم؟
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
DevComponent.DotNetBar.Controls.TextBoxX
گذاشتم بازم کار نکرد!!!!!!!!!!؟؟
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
DevComponent.DotNetBar.Controls.TextBoxX
گذاشتم بازم کار نکرد!!!!!!!!!!؟؟
شما برنامه رو Trace کنین و ببینین حلقه اجرا میشه یا خیر
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
سلام دوست عزیز برنامه را trace کردم متاسفانه حلقه اجرا نمیشه نمیدونم مشکل از کجاست
داخل پروژه جدیدی که ایجاد کردم و کد رو گذاشتم حلقه با trace اجرا میشه ولی داخل این برنامه نمیدونم مشکل کجاست که بعد از foreeach وارد شرط نمیشه
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
ولی داخل این برنامه نمیدونم مشکل کجاست که بعد از foreeach وارد شرط نمیشه
یعنی چی؟ یعنی وارد حلقه میشه؟ اما شرط برقرار نیست؟
همین الان تست کردم، با devcomponent هم تست کردم مشکلی نداشتم قشنگ کار میکرد
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
وارد حلقه میشه قسمت in را چک میکنه ولی var item رو چک نمیکنه و بعد به انتهای حلقه آکولاد بسته پرش میکنه و خارج میشه نمیدونم مشکلش چیه
تو همون برنامه یه فرم جدید گذاشتم و چند تا تکس دادم و اجرا شد ولی تو این فرم هر کاری میکنم اجرا نمیشه دیگه کلافه شدم
foreach (var item in Controls.OfType<DevComponents.DotNetBar.Controls.T extBoxX>())
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
وارد حلقه میشه قسمت in را چک میکنه ولی var item رو چک نمیکنه و بعد به انتهای حلقه آکولاد بسته پرش میکنه و خارج میشه نمیدونم مشکلش چیه
تو همون برنامه یه فرم جدید گذاشتم و چند تا تکس دادم و اجرا شد ولی تو این فرم هر کاری میکنم اجرا نمیشه دیگه کلافه شدم
foreach (var item in Controls.OfType<DevComponents.DotNetBar.Controls.T extBoxX>())
احتمال میدم به خاطر این باشه که تکست باکس هاتون داخل Group panel هستن، برای رفع این مشکل شما نام group panel رو قبل از Controls بنویسید، به این صورت:
foreach (var item in groupPanel1.Controls.OfType<DevComponents.DotNetBa r.Controls.T extBoxX>())
{}
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
سلام
این متد رو بنویس
public void ChangeBackColor(Control control, String compareValue)
{
if (control.GetType() == typeof(DevComponents.DotNetBar.Controls.TextBoxX))
{
var textBox = DevComponents.DotNetBar.Controls.TextBoxX)control;
textBox.BackColor = Color.White;
if (textBox.Text == compareValue)
{
textBox.BackColor = Color.Orange;
}
}
foreach (Control child in control.Controls)
{
ChangeBackColor(child);
}
}
و هرجا خواستی ، به اینصورت فراخوانی کن
ChangeBackColor(this, textBoxX26.Text);
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
mr.sirwan
احتمال میدم به خاطر این باشه که تکست باکس هاتون داخل Group panel هستن، برای رفع این مشکل شما نام group panel رو قبل از Controls بنویسید، به این صورت:
foreach (var item in groupPanel1.Controls.OfType<DevComponents.DotNetBa r.Controls.T extBoxX>())
{}
آره مشکل همین بود درست شد از همه دوستان عزیز آقای سیروان و آقای آشتیانی ممنونم که وقت گذاشتند
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
آقای آشتیانی این متد را که گذاشتید فکر کنم این قسمتش دو تا آرگمان داره
foreach (Control child in control.Controls) {
ChangeBackColor(child);
}
درسته؟
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
آقای آشتیانی این متد را که گذاشتید فکر کنم این قسمتش دو تا آرگمان داره
foreach (Control child in control.Controls) {
ChangeBackColor(child);
}
درسته؟
سلام
بله ، عذر خواهی میکنم فراموش شده ، بعنوان آرگومان دوم بنویسید : compareValue
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
با سلام خدمت دوستان خوبم
اگه بخوایم با جستجوی جدید نتایج قبلی جستجو از حالت high light خارج شوند باید چکار کرد؟
ممنون
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
با سلام خدمت دوستان خوبم
اگه بخوایم با جستجوی جدید نتایج قبلی جستجو از حالت high light خارج شوند باید چکار کرد؟
ممنون
سلام کافیه قبل از عمل های لایت کردن با همون حلقه Foreach رنگ تمام تکست باکس ها رو به حالت اول برگردونی.
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
نقل قول:
نوشته شده توسط
reza4359
با سلام خدمت دوستان خوبم
اگه بخوایم با جستجوی جدید نتایج قبلی جستجو از حالت high light خارج شوند باید چکار کرد؟
ممنون
سلام
همین الان هم متد ChangeBackColor این کار رو هنگام فراخوانی انجام میده ، این خط منظورم هست ، در واقع قبل از اینکه شرط برای highlight کردن چک بشه زمینه تکست باکس ها به حالت اولیه برمیگردن.
textBox.BackColor = Color.White;
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
سلام به دوستان عزیز برنامه نویس
با توجه به موضوع بالا چطوری میتونم در زمان ویرایش وقتی تمام اطلاعات درون نکس باکسها قرار میگیره و وقتی کاربر یکی از textbox ها رو خالی کرد و پاک کرد آخرین textbox که پر میباشد را به آن تکس باکس خالی انتقال دهد
امیدوارم منظورم رو درست رسانده باشم
ممنون
-
نقل قول: جستجو در میان چند textbox و highlight کردن آن در زمان ویرایش اطلاعات database
سلام دوستان عزیز میشه راجع به این قضیه راهنمایی کنید