PDA

View Full Version : مشكل با گريد ويو



panahgah
چهارشنبه 19 مرداد 1390, 19:10 عصر
يه برنامه با سي شارپ نوشتم و اولين باري هست كه با LINQ مي كنم ، Update و ِDelete و insert رو نوشتم و درست كار مي كنه و بعد از اون مي خوان كه اتفاقاتي كه افتاده تو گريد نمايش داده بشه . يعني گريدم Refresh بشه كه در ِDelete و insert بعد از فشار دادن كليدشون اين كار درست انجام مي شه ولي در Update گريدمRefresh نمي شه . يه سرچي كه تو اينترنت كردم لينك زير رو پيدا كردم كه فكر كنم مشكلش مثل من بود

http://stackoverflow.com/questions/578184/problem-in-gridview-with-linq

و جوابش

You set the DataSourceID property in the markup of GridView1 to "LinqDataSource1". That binds the grid to the LinqDataSource declared just after the GridView. Then in ShowEmployee() you set the DataSource property in code, which binds the grid to the query in that method. You can't do both. Remove the DataSourceID in markup if you intend to bind in code.

منظورش رو از DataSourceID نمي فهمم چيه ؟

يعني آيا مشكل از dataContext كه گرديد رو از اونجا مي خونه و آيا مثل Cache عمل مي كنه ؟

Esmail Solhkhah
چهارشنبه 19 مرداد 1390, 19:25 عصر
یه متد مینویسی مثل LoadData

بعد از عملیات Update و ِDelete و insert اونو فراخوانی میکنی تا اطلاعات گرید رفرش بشه


public static System.Data.Linq.Table<Vahed> GetVahedTable()
{
MainDataClassesDataContext dc = new MainDataClassesDataContext();
return dc.GetTable<Vahed>();
}

private void LoadData()
{
dataGridView1.DataSource = GetVahedTable();
}

موفق باشی.

panahgah
چهارشنبه 19 مرداد 1390, 19:51 عصر
من به جاي table شما از List استفاده كرده بودم . آيا اين مو ضوع تو نتيجه جواب گريد تاثير داره ؟

حالا اگه بخوام از table استفاده كنم ًQuery رو با به جاي var چي بگيرم ؟ يا به چي تبديلش كنم ؟

Esmail Solhkhah
چهارشنبه 19 مرداد 1390, 20:16 عصر
من به جاي table شما از List استفاده كرده بودم . آيا اين مو ضوع تو نتيجه جواب گريد تاثير داره ؟

خیر


حالا اگه بخوام از table استفاده كنم ًQuery رو با به جاي var چي بگيرم ؟ يا به چي تبديلش كنم ؟

MainDataClassesDataContext dc = new MainDataClassesDataContext();

var Item = (from row in dc.GetTable<Vahed>()

select row);

dataGridView2.DataSource = Item.ToList();

panahgah
چهارشنبه 19 مرداد 1390, 20:30 عصر
من يه راه بهتر پيدا كردم و گريدم رو با تغييرات سريع به روز مي كنه


dbs.Refresh(System.Data.Linq.RefreshMode.Overwrite CurrentValues, dbs.Organizations);

با اين حساب پس مشكل از dataContext كه دير مي فهمه