0 امتیاز

با سلام خدمت اساتید و دوستان گرامی

یه برنامه نوشتم با vs2012 و sql2008 با روش entity در خصوص پروژه های عمرانی و فاکتورهای هزینه شده در هر پروژه

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

حالا مشکل من اینه وقتی که با سطر فیلتر خود گرید ویو داده ها رو فیلتر میکنم اطلاعات داخل لیبلها به هیچ وجه تغییر نمیکنه

مثلا میخوام در مورد یک پروژه که فیلتر کنم فقط اطلاعات فاکتورهای همان پروژه نمایش داده بشه.

با تشکر

این هم کدش

            decimal jameKol = 0;
            decimal pardakhti = 0;
            decimal bedehkari = 0;
            for (int i = 0; i < rgvFactors.Rows.Count; i++)
            {
                jameKol += decimal.Parse(rgvFactors.Rows[i].Cells[4].Value.ToString());
                if (rgvFactors.Rows[i].Cells[6].Value.ToString() == "شده")
                {
                    pardakhti += decimal.Parse(rgvFactors.Rows[i].Cells[4].Value.ToString());
                }
                else
                {
                    bedehkari += decimal.Parse(rgvFactors.Rows[i].Cells[4].Value.ToString());
                }
            }
            lblJameKol.Text = jameKol.ToString("#,###");
            lblPardakht.Text = pardakhti.ToString("#,###");
            lblBedehkari.Text = bedehkari.ToString("#,###");
        }

 

1 پاسخ

+2 امتیاز
سلام ، خوب مشکل چیه ؟ شما باید این کد رو بعد از عملیات فیلتر فراخوانی کنید . Breakpoint بزارید ببینید اصلا این کد ها اجرا میشه یا نه . شاید در جای اشتباهی کدها رو قرار دادین.
دوست من تشکر میکنم از پاسختون

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

من فکر میکنم در واقع بعد از فیلتر کردن فقط اطلاعات نشون داده نمیشن و دیتا سورس گروویو در واقع تغییر نمیکنن ولی هر کاری کردم درست نشد حتی این کد رو در تک تک ایونتها کپی کردن بازهم درست نشد.
توسط (113 امتیاز) 1 6
رویداد DataBindingCompleted  فقط زمانی فراخوانی میشه که شما یک Datatable رو به خصوصیت DataSource دیتاگرید ویو نسبت بدین . شما عملیات فیلتر رو در حافظه اصلی انجام میدین و اصلا از این خصوصیت استفاده نمیکنید ، پس طبیعیه که فراخوانی نمیشه . شما یک رویداد رو پیدا کنید که بعد از عمل فیلتر فراخوانی میشه و بعد در اون رویداد این کد رو فراخوانی کنید . متاسفانه این کنترل ها روی سیستم نصب نیست ولی فکر کنم رویداد FilterChanged مشکلتون رو حل کنه
توسط (6,145 امتیاز) 5 11 116
سوال جدید

2,335 سوال

2,871 پاسخ

3,725 دیدگاه

3,916 کاربر

دسته بندی ها

...