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

نام تاپیک: جستجو در دیتاگریدویو

  1. #1

    جستجو در دیتاگریدویو

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


    OleDbDataAdapter da = new OleDbDataAdapter();
    DataSet ds = new DataSet();
    DataView dv = new DataView();
    da = new OleDbDataAdapter("select ID,namebimar,IDbimar,Sazman_bime,Name_khadmat,Date _noskheh,Date_Valid,Tkoli,Tsazman,TBimar from Vizit order by Date_noskheh Desc", con);
    da.Fill(ds, "Vizit");
    dv.Table = ds.Tables["Vizit"];
    dgw.DataSource = dv;

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

    switch (cbselect.Text)
    {
    case "نام ونام خانوادگی":
    dv.RowFilter = "namebimar like '%" + txtserech.Text + "%'";
    dgw.DataSource = dv;
    break;
    case "شماره بیمه":
    dv.RowFilter = "IDbimar like '%" + txtserech.Text + "%'";
    dgw.DataSource = dv;
    break;
    case "سازمان بیمه":
    dv.RowFilter = "Sazman_bime like '%" + txtserech.Text + "%'";
    dgw.DataSource = dv;
    break;
    case "تاریخ نسخه":
    dv.RowFilter = "Date_noskheh like '%" + txtserech.Text + "%'";
    dgw.DataSource = dv;
    break;
    case "نام خدمت":
    dv.RowFilter = "Name_khadmat like '%" + txtserech.Text + "%'";
    dgw.DataSource = dv;
    break;
    }

    اطلاعاتی که در بانکم رشته ای هستش به راحتی کاراکتر به کارکتر جستجو و فیلتر میشه تا اینجا مشکلی ندارم
    اما میخوام وقتی داده ای که عددی هستشو فیلتر کنم خطا میده از چه کدی باید استفاده کنم؟الان Date_noskheh من از نوع عددی هستش چیکار باید بکنم به نظرتون؟
    آخرین ویرایش به وسیله Yanehsar : جمعه 18 فروردین 1391 در 13:16 عصر دلیل: اشتباه در ارسال یک قسمت از کد

  2. #2
    کاربر دائمی آواتار morteza271
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد
    پست
    1,723

    نقل قول: جستجو در دیتاگریدویو

    فکر نمیکنم به این دستور نیازی باشه ::
    Convert.ToInt32

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

  3. #3
    کاربر دائمی آواتار p.yazdkhasti
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    http://devnet.ir
    پست
    121

    نقل قول: جستجو در دیتاگریدویو

    سلام
    لطفا یک مثال از فرمت ذخیره سازی تاریخ یا به عبارت دیگر Date_noskheh در نرم افزار خود ذکر کنید. در کد بالای شما استفاده از Convert.ToInt32 غیر ضرروی است زیرا بعد از اتصال آن به String ها کنار آن دوباره به صورت Implicit به String تبدیل یا Cast می شود.

  4. #4

    نقل قول: جستجو در دیتاگریدویو

    سلام مجدد من استباه کردم کد اول اشتباه بود اصل کدها اینه که سی شارپ خطا گرفت من از convert.toint32 استفاده کردم که یازم اجرا نشدش
    فیلد من از نوع عددی هستش یعنی تاریخ 1390/12/12 رو داخل بانک به صورت 13901212 ذخیره میکنه چیکار کنم به نظرتون؟؟؟

  5. #5
    کاربر دائمی آواتار p.yazdkhasti
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    http://devnet.ir
    پست
    121

    نقل قول: جستجو در دیتاگریدویو

    سلام
    نوع ستون Date_noskheh را در Dataset (در صورتی که String نمی باشد) به String تبدیل نمایید.

  6. #6

    نقل قول: جستجو در دیتاگریدویو

    نقل قول نوشته شده توسط p.yazdkhasti مشاهده تاپیک
    سلام
    نوع ستون Date_noskheh را در Dataset (در صورتی که String نمی باشد) به String تبدیل نمایید.
    سلام چطوری باید اینکار رو انجام بدم؟میشه برام کدهای مربوطشو بذارید؟

  7. #7

    نقل قول: جستجو در دیتاگریدویو

    برای مقایسه مقادیر عددی نیازی نیست داخل ' ' بزارید . اینو در نظر داشته باشید .
    مثلا
    dv.RowFilter = "ID = 1"

  8. #8

    نقل قول: جستجو در دیتاگریدویو

    1- از دستور like استفاده نكنيد.(اين دستور براي متغييرهاي رشته اي ميباشد)
    2- از علامت % استفاده نكنيد (اين علامت براي استفاده از دستور like است)
    3- همونظور كه دوستمون گفت تك كوتيشن ' لازم نيست استفاده كنيد زيرا اين كاراكتر براي استفاده از متغيرهاي رشته اي ميباشد نه عددي
    درضمن نياز نبود براي ذخيره تاريخ اونو به عدد تبديل كني. با همون نوع nvarchar كارت را ميفتاد.

  9. #9

    نقل قول: جستجو در دیتاگریدویو

    نقل قول نوشته شده توسط ali_habibi1384 مشاهده تاپیک
    1- از دستور like استفاده نكنيد.(اين دستور براي متغييرهاي رشته اي ميباشد)
    2- از علامت % استفاده نكنيد (اين علامت براي استفاده از دستور like است)
    3- همونظور كه دوستمون گفت تك كوتيشن ' لازم نيست استفاده كنيد زيرا اين كاراكتر براي استفاده از متغيرهاي رشته اي ميباشد نه عددي
    درضمن نياز نبود براي ذخيره تاريخ اونو به عدد تبديل كني. با همون نوع nvarchar كارت را ميفتاد.
    سلام مرسی با تغییر فیلدم به رشته ای کارام راه افتاد اما میشه یه روش استاندارد برای جستجو و فیلتر کردن دیتاگرید معرفی کنید؟
    من یه برنامه دیدم که ردیف اول دیتاگرید خالی هستش و با تایپ هر کاراکتر داخل فیلد متناضر آن دیتا گرید فیلتر میشد هم تک شرط جواب میداد هم چند شرطی
    مثلا نام خانوادگی با تایپ حرف م هر کسی که نامش با م شروع میشد می امد و با تایپ تاریخ 139012 کسانی که نامش م و تاریخشون 139012 هستش نشون میداد
    چطور میشه اینکار رو انجام دادش؟؟؟؟؟؟

  10. #10
    کاربر دائمی آواتار p.yazdkhasti
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    http://devnet.ir
    پست
    121

    نقل قول: جستجو در دیتاگریدویو

    نقل قول نوشته شده توسط Yanehsar مشاهده تاپیک
    سلام مرسی با تغییر فیلدم به رشته ای کارام راه افتاد اما میشه یه روش استاندارد برای جستجو و فیلتر کردن دیتاگرید معرفی کنید؟
    من یه برنامه دیدم که ردیف اول دیتاگرید خالی هستش و با تایپ هر کاراکتر داخل فیلد متناضر آن دیتا گرید فیلتر میشد هم تک شرط جواب میداد هم چند شرطی
    مثلا نام خانوادگی با تایپ حرف م هر کسی که نامش با م شروع میشد می امد و با تایپ تاریخ 139012 کسانی که نامش م و تاریخشون 139012 هستش نشون میداد
    چطور میشه اینکار رو انجام دادش؟؟؟؟؟؟
    سلام
    شما می توانید از کنترل های Grid شرکت های Telerik و یا ِDevExpress در نرم افزار خود استفاده نمایید. این کنترل ها Filtering اطلاعات را با سادگی بیشتری انجام می دهند و امکانات بیشتری را در اختیار شما قرار می دهند. برای اطلاعات بیشتر در مورد این کنترل ها می توایند به سایت آن ها مراجعه نمایید.

  11. #11

    نقل قول: جستجو در دیتاگریدویو

    نقل قول نوشته شده توسط p.yazdkhasti مشاهده تاپیک
    سلام
    شما می توانید از کنترل های Grid شرکت های Telerik و یا ِDevExpress در نرم افزار خود استفاده نمایید. این کنترل ها Filtering اطلاعات را با سادگی بیشتری انجام می دهند و امکانات بیشتری را در اختیار شما قرار می دهند. برای اطلاعات بیشتر در مورد این کنترل ها می توایند به سایت آن ها مراجعه نمایید.
    سلام از این کنترل استفاده نکردم لینک دانلود و آموزش(مخصوصا آمورش) این کنترل ر میتونید برام بذارید؟ممنون

  12. #12

    نقل قول: جستجو در دیتاگریدویو

    استانداردش مثل جستجوهاي گوگل. متن رو تايپ كني بعد بياد توي همه فيلدهاي اطلاعاتي جستجو كنه نه فقط فيلد متناظر

  13. #13

    نقل قول: جستجو در دیتاگریدویو

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

  14. #14

    نقل قول: جستجو در دیتاگریدویو

    برای استفاده از این ابزار ها که دوستمون گفت باید Telerik و یا ِDevExpress رو تهیه کنی روی VS نصب کنی .بعد توی Toolbox یه Tab جدید به اسمشون ایجاد میشه و تمام کنترل های این کامپوننت ها نمایش داده میشه اونوقت می تونی از کنترل گریدش که فیلترینگ هم داره استفاده کنی

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

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