نمایش نتایج 1 تا 12 از 12

نام تاپیک: Search کردن در DataGridView

  1. #1

    Question Search کردن در DataGridView

    با سلام :
    لطفا کد Search کرن در DataGridView را بنوسید .
    به طور مثال :
    (DataGridView ما دارای سه تا ستون باشد . اگر بخواهیم بر منای اطلاعات ستون اول serach را انجام دهیم . از چه کدی استفاده کنم .؟ اگه داده serach شده در ستون اول پیدا شد حال می خواهم رنگ زمینه Row مورد نظر تغییر کند و اطلاعات ان row به طور کامل در یک messegebox ظاهر شود .)

    با تشکر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    کرمان-کرمان
    پست
    334
    سلام

    مواردی که شما احتیاج دارید
    با جستجو در همین بخش پیدا می کنید

    موفق باشید

  3. #3
    با سلام:
    هر چه گشتم نبود که نبود یه مطلب کامل وجامع نبود. اگه کسی بلده خواهشن جواب دهد .
    من تنها یک DataGridView دارم می خواهم Search کنم .
    کسی نیست کد هایلات کردن سطر پیدا شده پس از search را بداند .
    PLEASE!!!!!!!!!!!!

  4. #4
    کاربر دائمی آواتار eyes_shut_number1
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    http://blueco.ir
    سن
    38
    پست
    1,090
    دوست من
    سرچ کردن رو توی دیتا ست میکنن و گرید فقط برای نمایش آنهاست
    البته مرسومش اینه

  5. #5
    سلام دوست عزیز
    شما بهتر است عملیات فیلتر کردن را در DataSource انجام داده و نتایج را برای نمایش به دیتاگریدویو انتقال دهید ، به عنوان مثال اگر دیتاسورس شما یک DataTable است میتوانید بدینگرونه اطلاعات مورد نظر را فیلتر کنید :

    dataTable.DefaultView.RowFilter = "Age > 25";


    یا اگر دیتاسورس شما شی ء BindingSource میباشد ، میتواند با تنظیم پروپرتی Filter مربوط به این شی ء اطلاعات را فیلتر کنید ،
    یا اینکه میتوانید اطللاعات را هنگام گرفتن کوئری از دیتابیس توسط دستورات SQL فیلتر کنید و بعد به دیتاگریدویو بفرستید ،
    به هر حال روشهای گوناگونی برای انجام اینکار وجود دارد ...
    I've just started tweeting!
    @Alireza_Maddah

  6. #6
    چرا از کدهای پست بالا استفاده نمی کنید؟

  7. #7
    بهتره بعد از جستجو و پیدا کردن رکورد مورد نظر آن را سلکت کنی

  8. #8
    ببخشید چه نیازی به باز و بسته کردن کانکشن هستش؟
    اطلاعاتتون رو فیلتر کنید.
    در صورتی هم که با command ها بخواید کار کنید مثلآً در استفاده از دیتاریدر باز هم مشکلی نداره من تست کردم اگه نشد بگید کد بزارم(فعلاً کدش دم دستم نیست یعنی میزاشتم)

  9. #9
    کاربر دائمی آواتار eyes_shut_number1
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    http://blueco.ir
    سن
    38
    پست
    1,090
    شما اینجا فقط کانکشن رو تعریف کردن!
    sqldataadapter خودش بازو بسته میکه!
    باز و بسته کردن به این معناست
    cnn.open()
    cnn.close()
    توی پست خودتون جواب اررور رو دادم

    dap.fill(ds,"tbBook");

    اینو درست کنید

  10. #10
    نقل قول نوشته شده توسط elijooje مشاهده تاپیک
    متوجه منظورتون نشدم. من همیشه کانکشن رو دستی باز و بسته می کنم.
    این کد رو ببینید. ارور می گیره:
     


    private void txtName_TextChanged(object sender, EventArgs e)
    {
    SqlConnection cnn = new SqlConnection("server=localhost ;database=Book;user id=;password=;integrated security=true");
    SqlDataAdapter dap = new SqlDataAdapter("select * from tbBook where name like '%" + txtName.Text + "%'", cnn);
    DataSet ds = new DataSet();
    dap.Fill(ds);
    dataGridView1.DataSource = ds;
    dataGridView1.DataMember = "tbBook";
    {


    ببین دوست عزیز کد شما در هر بار رخ دادن رویداد TextChange که ممکنه در طول اجرای برنامه 1000 بار هم اتفاق بیفته میاد یه کانکشن میسازه و ...
    که این یعنی فاجعه!
    بهترین روش همون روش فیلتر کردن اطلاعاته
    تا زمانی که نیاز نیست به هیچ عنوان به بانکتون متصل نشید و در صورت اتصال در اولین فرصتی که کارتون تموم شد این اتصال رو قطع کنید.

  11. #11
     
    public partial class Form1 : Form
    {
    SqlConnection con;
    SqlCommand com;
    DataSet ds;
    SqlDataAdapter da;

    public Form1()
    {
    InitializeComponent();
    con = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=DB;Integrated Security=True");
    com = new SqlCommand("select * From Table", con);
    ds = new DataSet();
    da = new SqlDataAdapter(com);

    con.Open();
    da.Fill(ds, "Table");
    con.Close();
    dataGridView1.DataSource = ds.Tables[0];

    }
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    ds.Tables[0].DefaultView.RowFilter = "f_Name =" + textBox1.Text;
    }
    }

  12. #12
    کاربر جدید آواتار dramirali021
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    پاريس كوچولو
    پست
    4

    نقل قول: Search کردن در DataGridView

    نقل قول نوشته شده توسط gdevnb مشاهده تاپیک
    ببین دوست عزیز کد شما در هر بار رخ دادن رویداد TextChange که ممکنه در طول اجرای برنامه 1000 بار هم اتفاق بیفته میاد یه کانکشن میسازه و ...
    که این یعنی فاجعه!
    بهترین روش همون روش فیلتر کردن اطلاعاته
    تا زمانی که نیاز نیست به هیچ عنوان به بانکتون متصل نشید و در صورت اتصال در اولین فرصتی که کارتون تموم شد این اتصال رو قطع کنید.
    آقا خيلي ممنون دستتون درد نكنه به خاطر كدي كه گذاشتين كارم با اين كد راه افتاد

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •