1 ضمیمه
عدم نمایش جمع یک ستون از دیتا گرید
سلام دوستان با کد های زیر در یک پروژه دیگه راحت میتونم جمع یک ستون از گرید رو بدست بیارم ولی در یکی از پروژه هایی که الان مشغولم خطا میده احتیاج به راهنمایی دارم واقعا ضروریه
کد ها :
int sum = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
sum += int.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString());
}
label1.Text = sum.ToString();
متن خطا : Input string was not in a correct format.
ضمیمه 125303
1 ضمیمه
نقل قول: عدم نمایش جمع یک ستون از دیتا گرید
ضمنا نمیدونم چرا مجموع یک ستون که در خود فایل اکسل آورده شده رو در گرید نشون نمیده اصل فایل اکسل تصویریه که براتون میزارم
ضمیمه 125304
نقل قول: عدم نمایش جمع یک ستون از دیتا گرید
دوست عزیز بنا به احتمال زیاد در ستون مجموع فرمول نوشته شده و اکسل جمع رو انجام میده و نمایش میده!! شما یه breakpoint بزار و ببین از فایل اکسل چی می خونه؟
نقل قول: عدم نمایش جمع یک ستون از دیتا گرید
با سلام مشکل شما در این کد مربوط می شه به ستون F5 چون 5 سلول اول دارای رشته ی Null می باشد و در این صورت وقتی روی اون عملیات تبدیل انجام می دی با یه استثنا روبرو می شی به نظر بنده به جای کد توی حلقه ی For این کد رو جاگذاری کن تا مشکلت رفع بشه
int i = 0;
if(int.TryParse(dataGridView1.Rows[i].Cells[4].Value.ToString(), out i))
{
sum += int.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString());
}
نقل قول: عدم نمایش جمع یک ستون از دیتا گرید
نقل قول:
نوشته شده توسط
fakhradin
با سلام مشکل شما در این کد مربوط می شه به ستون F5 چون 5 سلول اول دارای رشته ی Null می باشد و در این صورت وقتی روی اون عملیات تبدیل انجام می دی با یه استثنا روبرو می شی به نظر بنده به جای کد توی حلقه ی For این کد رو جاگذاری کن تا مشکلت رفع بشه
int i = 0;
if(int.TryParse(dataGridView1.Rows[i].Cells[4].Value.ToString(), out i))
{
sum += int.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString());
}
با عرض تشکر از توجه همه دوستان کد شما رو هم تست کردم کلا میره توی کما ( not reponding ) :متفکر:
ولی به احتمال زیاد همون برخورد با NULL بودن چند سلول اوله راهی وجود نداره حتی اونا رو هم چک میکنم خروجی ندارم
نقل قول: عدم نمایش جمع یک ستون از دیتا گرید
long tmp;
var x = (from q in MainDgv.Rows.Cast<DataGridViewRow>().AsEnumerable( )
select long.TryParse((q.Cells[1].Value == null ? "" : q.Cells[1].Value.ToString()), out tmp) ? tmp : 0).Sum();
x میشه مقدار جمع
نقل قول: عدم نمایش جمع یک ستون از دیتا گرید
نقل قول:
نوشته شده توسط
امیر مهرشاد
با عرض تشکر از توجه همه دوستان کد شما رو هم تست کردم کلا میره توی کما ( not reponding ) :متفکر:
ولی به احتمال زیاد همون برخورد با NULL بودن چند سلول اوله راهی وجود نداره حتی اونا رو هم چک میکنم خروجی ندارم
شرمنده کد رو به شکل زیر در بیار تا از سلول های NULL بگذزه
int i = 0;
if (dataGridView1.Rows[i].Cells[4].Value != NULL && dataGridView1.Rows[i].Cells[4].Value.ToString(), out i))
{
sum += int.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString());
}
نقل قول: عدم نمایش جمع یک ستون از دیتا گرید
نقل قول:
نوشته شده توسط
hamid_hr
long tmp;
var x = (from q in MainDgv.Rows.Cast<DataGridViewRow>().AsEnumerable( )
select long.TryParse((q.Cells[1].Value == null ? "" : q.Cells[1].Value.ToString()), out tmp) ? tmp : 0).Sum();
x میشه مقدار جمع
فقط 0 بر میگردونه کلی راه های دیگه هم امتحان کردم با یه ترفند دیگه فعلا دارم کار میکنم مشکل از فایل هایی هست که دانلود میشه روی بقیه فایل ها براحتی جواب میده در هر صورت از همه بچه بابت این تایپیک ممنون