PDA

View Full Version : سوال: ایجاد ردیف جدید در گرید ویو و دادن خطای ArgumentException was unhandled



bmvgod
یک شنبه 25 فروردین 1398, 21:52 عصر
باسلام خدمت دوستان و بزرگواران
تو پروژم میخوام به گریدویوم یک ستون با نام Row اضافه کنم اونم بشرطی که Combobox م برابر ایندکس 2 باشه،که از دستور زیر استفاده می کنم:

private void dgvReportage_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (cmbReportFrom.SelectedIndex == 2)
{
dgvReportage.Rows[e.RowIndex].Cells["Row"].Value = e.RowIndex + 1;
}
}


ولی با خطای زیر مواجه میشم:
150043

قبل این دستورات از دستور زیر استفاده کردم:

private void cmbReportFrom_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmbReportFrom.SelectedIndex == 2)
{
db = new LinqToTrazoDataContext();
var ShowCommoFa = db.FactorSaleTables.GroupBy(s => new {s.RowFact, s.CommodCodFact, s.CommodName, s.CommodSize })
.Select(n => new
{
row=n.Key.RowFact,
Number = n.Sum(r => r.Number),
CommodName = n.Key.CommodName,
Size = n.Key.CommodSize
});
dgvReportage.DataSource = ShowCommoFa;
}
}


ممنون میشم راهنماییم کنید که مشکل کارم در کجاست و از چه کی باید استفاده کنم؟
باتشکر از تمامی دوستان و بزرگواران

mr.sirwan
یک شنبه 25 فروردین 1398, 22:00 عصر
این ارور به این دلیله که هیچ ستونی با این نام توی دیتاگریدتون تعرف نکردین، اگه میخواین برای بعضی مواقع این ستون رو داشته باشین و واسه باقی موارد این ستون در دیتاگرید وجود نداشته باشه، دوتا راه دارین:
1. اینکه ستون رو طبق نیازتون توسط کدنویسی ایجاد و یا حذف کنید
2. ستون رو بصورت پیشفرض برای دیتاگرید تعریف کنید و در مواردیکه به این ستون نیازی ندارید به جای اینکه ستون رو کلا از دیتاگرید حذف کنین فقط کافیه پراپرتی Visible اون رو false کنید

saeidfar
یک شنبه 25 فروردین 1398, 23:05 عصر
دوستمون درست میفرماین ، فکر نکنم ستون چیزی باشه که بخواهید برای هر سطر خاص اون رو داشته باشین،یا توی گرید هست یا نیست
حداقل باید تعریف کنید که مقدار این ستون برای مقادیر خاصی خالی باشه ، یا رنگش عوض بشه، یا یک مقدار مورد نظرتون رو بگیره

bmvgod
سه شنبه 27 فروردین 1398, 18:28 عصر
این ارور به این دلیله که هیچ ستونی با این نام توی دیتاگریدتون تعرف نکردین، اگه میخواین برای بعضی مواقع این ستون رو داشته باشین و واسه باقی موارد این ستون در دیتاگرید وجود نداشته باشه، دوتا راه دارین:
1. اینکه ستون رو طبق نیازتون توسط کدنویسی ایجاد و یا حذف کنید
2. ستون رو بصورت پیشفرض برای دیتاگرید تعریف کنید و در مواردیکه به این ستون نیازی ندارید به جای اینکه ستون رو کلا از دیتاگرید حذف کنین فقط کافیه پراپرتی Visible اون رو false کنید

اینطور که متوچه شدم مورد 1 که فرمودید به خواسته من نزدیک تره.
میشه لطف کنید بهم بگید از چه کدی باید استفاده کرد؟
ممنون از لطفطون

saeidfar
سه شنبه 27 فروردین 1398, 21:50 عصر
یه زحمت بکشید یه جستجوی ساده بزنید: اضافه کردن یک ستون به دیتاگرید

danialafshari
چهارشنبه 28 فروردین 1398, 01:01 صبح
اصلاً نیازی به جستجو نیست
شما وقتی به صورت ویزارد یک ستون اضافه می کنید کدش در Desinger نوشته میشه