PDA

View Full Version : اضافه کردن یک سطر به dataGridVie



rashidi_sm
چهارشنبه 11 اردیبهشت 1392, 11:04 صبح
سلام
منی یک dataGridView دارم که از جدول bind شده ولی می خوام جمع یک ستون در سطر آخر نمایش داده شود، برای همین باید یک سطر به انتهای آن اضافه کنم و اطلاعات مورد نظرم را قرار بدم، کد زیر را براش نوشتم DataGridViewRow row = (DataGridViewRow)dataGridView1.Rows[0].Clone();
row.Cells[0].Value = "کل هزینه";
row.Cells[6].Value = paying.Text;
dataGridView1.Rows.Add(row);

ولی خطای زیر را می ده
Rows cannot be programmatically added to the DataGridView's rows collection when the control is data-bound.

چی کار باید بکنم؟

مهدی هادیان2
چهارشنبه 11 اردیبهشت 1392, 12:00 عصر
بسم الله الرحمن الرحیم
با سلام
فکر نمی کنم بتونید این کار رو بکنید.تا اون جایی که میدونم بایستی با کد نویسی عمل بایند رو انجام بدید تا بتونید سطر اضافه کنید.
موفق باشید.

elahe1364
چهارشنبه 11 اردیبهشت 1392, 15:10 عصر
چون گرید رو بایند کردید نمیتونید دستی بهش سطر اضافه کنید.
پس باید این کار رو روی دیتاتیبلی که به گرید بایند هست انجام بدید.


DataTable dt = (DataTable)dgv.DataSource;
dt.Rows.Add();
dt.Rows[dt.Rows.Count - 1][0] = "جمع";
dt.Rows[dt.Rows.Count - 1][1] = Math.Round(Convert.ToDecimal(dt.Compute("Sum(اسم فیلد موردنظر)", "True")), 2);
dgv.Rows[dt.Rows.Count - 1].DefaultCellStyle.ForeColor = System.Drawing.Color.Red;

rashidi_sm
پنج شنبه 12 اردیبهشت 1392, 09:34 صبح
این کدی که گذاشتید این خطا رو می ده
Unable to cast object of type 'System.Data.DataView' to type 'System.Data.DataTable'.

khayyams.votary
جمعه 13 اردیبهشت 1392, 13:49 عصر
شما اول یک لیست یا دیتاتیبل در جنرال تعریف کن و هر موقع که خواستی از بانک کووری بکشی بریز داخل اون و بعد از اون تابعی داشته باش که با فراخوانی اون اطلاعات لیست یا دیتاتیبلت رو به گرید بایند کنه این طوری هر وقت هم خواستی که سطری اضافه کنی میتونی به لیست یا دیتاتیبل اضافه کنی بعد باند کنی