اول یه کانکشن، یه آداپتر و یه تیبل درست میکنی
فرض کنیم جدولت دو تا فیلد ID و Name داره
یه تکست باکس با نام t و یه لیست باکس با نام l(ال) داری.
میخوای کاربر قسمتی از نام رو توی t بنویسه و چیزایی که براش پیدا میشه توی لیست l قرار بگیره
حالا مینویسی:
DataSet.Tables(0).DefaultView.RowFilter = "Name = '" & t.Text & "'"
و این یعنی این که ای دیتا ست عزیز! جدول صفر رو انتخاب کن(هر جدولی یه شماره ای داره . اولین جدول شمارش صفره) حالا اون فیلد هایی از این جدول که RowFilter شون برابر با
"Name = '" & t.Text & "'"
هست(یعنی رکورد های جدول رو این طوری فیلتر کن(که همون سرچ کردن باشه)) رو انتخاب کن
خب! تا اینجا گفتی که سرچ بکنه حالا میخوای نتیجه ی اون سرچ رو نشون بدی اونم تو یه لیست باکس
قبلا تمام رکورد های جدول 0 توی DefaultView بود اما الان با این کاری که کردی فقط جدول هایی که میخوای توی DefaultView هستن. حالا باید بهش بگی تا وقتی که توی DefaultView رکورد هست، اطلاعات فیلد Name از جدول صفر بیاد تو لیست باکس ِ l
پس بنویس:
For i As Integer = 0 to DataSet.Tables(0).DefaultView.Count - 1
ListBox1.Add(DataSet.Tables(0).DefaultView(i).Rows ("Name").ToString
Next
DefaultView یه چیزی هستش تو مایه های جدول(راستشو بخوای خودمم نمیدونم چیه اما چیز با حالیه) که تو میتونی اطلاعات جدول رو در اون قرار بدی. حالا هر جدولی هم برای خودش یه DefaultView داره(که اون دیفالت ویوو یه DataView ای هست که بطور اتوماتیک درون اون جدول وجود داره(یعنی بند هستش به اون جدول))
درضمن اینو هم بگم اکه این DefaultView نسبت به DataView هایی که به صورت دستی ایجاد میکنیم یه DataView ی خیلی مناسب تری هست و کار ما رو آسونتر میکنه چون بقیه ی DataView ها این امکان رو به این آسونی به ما نمیدن که بتونی نتیجه ی سرچت رو درون اونها قرار بدی(یا حداقل من این کار رو بلد نیستم) خلاصه گیر نده . از همین DefaultView استفاده کن
نکته ی دیگه ای که باید به اون بپرذازم اینه که من هر کدوم از این کلمات رو با بدبختی به دست اوردم و مدت مدیدی دنبال یه کد به این آسونی و باحالی بودم. ازشون خوب مراقبت کن
فعلا خداحافظ