PDA

View Full Version : دیتا گرید ویو با یک ستون محاسباتی



mohammadjp
شنبه 11 دی 1389, 20:01 عصر
سلام
من یک دیتا تیبل دارم که یکی از ستونهاش از طریق فرمولی از سایر ستونهاش محاسبه میشه

dt_ProductionD.Columns.Add("ProductionSpeed", typeof(decimal), "Convert([RotorSpeed]/[Twist],System.Decimal)");
وقتی این دیتا تیبل به یک دیتا گرید ویو متصل میشه، با وارد کردن اطلاعات در ستونهای مرتبط با فرمول باید ستون محاسباتی به روز شود ولی اینکار فقط با رفتن به سطر دیگر یا از دست دادن فوکوس اتفاق میافتد.

در اصل من به دنبال متدی هستم که دیتا گرید ویو را مجبور کنه پس از تغییر ستونهای مرتبط با فرمول ستون محاسباتی را آپدیت کنه:متفکر:

unknown.unforgiven
شنبه 11 دی 1389, 20:04 عصر
سلام
منظورت رو دقیق متوجه نشدم، اما شاید refresh کمکت کنه

mohammadjp
شنبه 11 دی 1389, 23:32 عصر
نه با رفرش اطلاعات از دیتا گرید ویو داخل دیتا تیبل منتقل نشد.

hossin.esm
یک شنبه 12 دی 1389, 18:30 عصر
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == x)
{

}
}

mohammadjp
یک شنبه 12 دی 1389, 18:30 عصر
کسی راه حلی نداره
بدجوری گیر کردم

mohammadjp
یک شنبه 12 دی 1389, 18:41 عصر
چون اون ستون محاسباتی خودم منیتونم مقدار توش بریزم که با رویداد
CellValueChanged بتونم کاری کنم فقط وقتی میرم سطر دیگه ای اطلاعات از تو گرید وارد دیتا تیبل میشه و انو تحریک میکنه ستون محاسباتیشو به روز کنه و نتیجه شو تو گرید نمایش بده.
قبلا تو VB یه تابه UPDATE داشت که اینکار را میکرد ولی UPDATE اینجا کار دیگه ای میکنه

unknown.unforgiven
یک شنبه 12 دی 1389, 19:23 عصر
چون اون ستون محاسباتی خودم منیتونم مقدار توش بریزم که با رویداد
CellValueChanged بتونم کاری کنم فقط وقتی میرم سطر دیگه ای اطلاعات از تو گرید وارد دیتا تیبل میشه و انو تحریک میکنه ستون محاسباتیشو به روز کنه و نتیجه شو تو گرید نمایش بده.
قبلا تو VB یه تابه UPDATE داشت که اینکار را میکرد ولی UPDATE اینجا کار دیگه ای میکنه

خب اگه تو VB بود تو #C هم هست. تو MSDN بگرد دنبال اون تابعی که میگی، بعد به جای اینکه VB رو انتخاب کنی #C رو انتخاب کن. با توجه به اون چیزی که تو این لینک (http://msdn.microsoft.com/us-en/library/system.windows.forms.datagridview.aspx) نوشته، datagridview هم تابع refresh داره، هم تابع update. توضیح هم داده که هر کدوم چی کار میکنن

mohammadjp
یک شنبه 12 دی 1389, 19:37 عصر
باید از متد EndEdit مربوط به BindingSource استفاده کنم:چشمک: