ساخت دیتاگرید داینامیک
سلام
تعداد ستونهای که می خواهیم در دیتاگرید نمایش بدهیم ثابت نیست واین تعداد ستون از جدولی خوانده میشود (مثلا یک دفعه 3ستون ایجاد میشودو دفعه دیگر 5ستون ایجاد میشود)
من چگونه می توانم این ستونها را در دیتاگرد ایجاد کنم
(
فرض کنید یک ستون Name داریم در جدول مورد نظر که سه تا داده وارد کریدم(تهران ,ساری,مشهد)حال می خواهم
1)تعداد ستونهای دیتاگریدم بشود تعداد داده های وارد شده در ستون Name (دراین مثال 3است)
2)عنوان ستونهای دیتاگریدم بشود داده های وارد شده در ستون نام Name(دراین مثالتهران ,ساری,مشهد )
3)بتوانم برای هرکدام داده ای وارد کنم و در جدول دیگری ذخیره کنم
)
باتشکر
2 پاسخ
باسلام
و باسپاس از جواب عالی شما
مهندس جان من از Telerik استفاده میکنم و اورو زیر را صادر میکنه
An unhandled exception of type 'System.InvalidOperationException' occurred in Telerik.WinControls.GridView.dll
چه تغییر در کد باید ایجاد کنم
مشکل حل شد
کد را بصورت زیر تغییر دادم
radGridView1.Columns.Add(names);
بازهم متشکرم
مهندس
سلام دوست عزیز،
برای اضافه کردن ستون به DataGridView می تونی از کد زیر استفاده کنی:
var names = new[] { "Name1", "Name2", "Name3" };
foreach(var name in names)
{
dataGridView1.Columns.Add("ColumnName", name);
}
فقط به جای استفاده از آرایه ای که اینجا نوشتم، می تونی اطلاعات رو از Database بخونی. در مورد وارد کردن اطلاعات داخل Grid و ذخیره داخل جدول دیگه هم کافیه روی Rows دیتاگرید یه ForEach بزنی و مقادیر رو بخونی و داخل جدول مورد نظرت Insert کنی:
foreach(var row in dataGridView1.Rows.OfType<DataGridViewRow>())
{
if (row.IsNewRow)
continue;
var cellValue = row.Cells["ColumnName"].Value;
// insert value(s) to database
}