0 امتیاز

با سلام
من توی گرید خودم چند قلم کالا دارم. حالا می خوام با وارد کردن نام کالایی، در صورت وجود اون کالا، تب جستجو فعال بشه و کالای موردنظر توی گرید نمایش داده بشه
اینم فرمم:


ممنون میشم راهنماییم کنین

1 پاسخ

0 امتیاز

یک راهش اینه جستجو رو تو بانک انجام بدی و نتیجه رو بریزی تو دیتا گرید(که به نظرم اصولیتره . چون وقتی سلکت میکنی با شرط تعداد کمی داده برمیگردونه. اما شما یه بار کل اطلاعات رو میاری تو دیتا گرید بعد روش جستجو میکنی یعنی یه حلقه دیگه به تعداد کل داده هات باید اجرا کنی)

 

یک راهش هم اینه که کل داده هاتو بیاری بریزی تو دیتا تیبل بعد یه حلقه از اول تا انتها دیتا تیبل رو پیمایش کنه و کلمه مورد نظرتو با کلمه ستون مورد نظرت مقایسه کنی. و اگه شبیه بودن میتونی اون سطر از دیتا تیبل رو بیاری و توی دیتا گرید بریزی(شما باید از دیتا تیبل یا یک دیتا گرید دیگه برای نگه داری داده هات استفاده کنی چون نمیشه هم از دیتا گرید خوند و ریخت تو خودشindecision)

ممنونم از راهنماییتون

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

برای روش دومی که فرمودین من یه گرید جداگانه برای هر کدوم از تب های جستجو، انتخاب کالا و کالاهای انتخاب شده گذاشتم.... یه گرید میتونه از گرید دیگه ای اطلاعات رو بخونه دیگه درسته؟
توسط (139 امتیاز) 1 4 20

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

DataTable Dt=new DataTable();

 

نمی دونم با چه تکنولوژی کد میزنی  اما برا روش اول مین اینو بهت میگم 




public DataTable Query(String sql)
        {
            Connect();
            DataTable Dt = new DataTable();
            SqlDataAdapter Da = new SqlDataAdapter(sql, cn);
            Dt.Clear();
            Da.Fill(Dt);
            DisConnect();
            return Dt;
        }

sql رشته کوئری شماست. مثلا برای شما میتونه باشه 

select * 

from kala

where Name Like '%نام کالا%'

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

اگه بازم متوجه نشدی بگو بیشتر راهنماییت کنم.

درضمن خروجی تابع بالا دیتا تیبل هست . که باید اینجور صداش بزنی

DataTable Dt=new DataTable();
Dt=Query(" رشته اس کیو ال ");
DataGrid1.DataSource=Dt;

یا
DataGrid1.DataSource=Query(" رشته اس کیو ال ");

 

توسط (197 امتیاز) 11
سوال جدید

2,332 سوال

2,871 پاسخ

3,725 دیدگاه

3,905 کاربر

دسته بندی ها

...