مقدار جدید وارد دیتابیس کردم
ولی توی خاصیت پرشدن اتوماتیک تکس باکس نمیاد
حتما باید برنامه رو ببندم دوباره باز کنم تا بیادش
ممنون میشم راهنماییم کنید
اینم سورسش
private void autocomplete() { MyDBDataContext db = new MyDBDataContext(); var nams = new AutoCompleteStringCollection(); var ato = db.ViewProducts; foreach (var p in ato) { nams.Add(p.NameProduct); } txtSearch.AutoCompleteCustomSource = nams; }
اینم عکس برنامه (مقدار رکورد چرخ دنده رو جدید وارد کردم نمیادش ولی بقیه رو نشون میده)
کد زیر را با کد خودتان جایگزین کنید و بررسی کنید :
MyDBDataContext db = new MyDBDataContext(); var nams = new AutoCompleteStringCollection(); var ato = db.ViewProducts; var re = ((IObjectContextAdapter)db).ObjectContext; re.Refresh(RefreshMode.ClientWins, ato); foreach (var p in ato) { nams.Add(p.NameProduct); } txtSearch.AutoCompleteCustomSource = nams;
فهمیدم مشکلم کجا بود
متد رو توی لود فرم اصلی فراخوانی می کردم
اون موقع هیچی وارد نشده بود
باید توی لود فرم جستجو فراخوانی می کردم که مقدار جدید وارد شده
بازم ممنون
این دستور چی کار می کنه ؟
var re = ((IObjectContextAdapter)db).ObjectContext;
برای refresh کردن دیتابیس، دیتابیس رو به ابتدا cast کردیم به IObjectContextAdapter تا بتونیم refresh کنیم.
اها
مرسی
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)