PDA

View Full Version : ایجاد ستونی از نوع link در datagridview



safari_m4
جمعه 08 مهر 1401, 08:46 صبح
سلام و خسنه نباشید چگونه دوستان از طریق کد نویسی در سی شارپ نوع ستون دیتاگریدویو خود را که از نوع DataGridViewTextBoxeColumn می باشد را به DataGridViewLinkColumn تغییر بدهم با تشکر و سپاس

یونس ابراهیمی
جمعه 28 بهمن 1401, 12:08 عصر
برای تغییر نوع یک ستون در یک شیء DataGridView در سی شارپ، ابتدا باید یک شیء از کلاس DataGridViewLinkColumn بسازید، سپس به DataGridView مربوطه اضافه کنید و ستون مورد نظر را حذف و ستون جدید را در جایگاه دلخواه قرار دهید.


برای مثال، فرض کنید که شیء DataGridView شما به نام dataGridView1 است و شما می‌خواهید ستون دوم را از نوع DataGridViewTextBoxColumn به نوع DataGridViewLinkColumn تغییر دهید.


اولین قدم ایجاد یک شیء DataGridViewLinkColumn است:




DataGridViewLinkColumn linkColumn = new DataGridViewLinkColumn();
linkColumn.HeaderText = "My Link Column";
linkColumn.Name = "linkColumn";


در این مثال، یک ستون با عنوان "My Link Column" و نام "linkColumn" ساخته شده است. شما می‌توانید هر نام و عنوان دیگری را انتخاب کنید.


سپس می‌توانید ستون جدید را به DataGridView اضافه کنید:




dataGridView1.Columns.Add(linkColumn);
حالا می‌توانید ستون مورد نظر را از DataGridView حذف کنید و ستون جدید را در جایگاه دلخواه قرار دهید:




dataGridView1.Columns.Remove("oldColumnName");
dataGridView1.Columns["linkColumn"].DisplayIndex = 1;
در اینجا، "oldColumnName" باید نام ستون قبلی باشد که می‌خواهید آن را حذف کنید. همچنین، در این مثال، ستون جدید را در جایگاه دوم (بعد از ستون اول) قرار دادیم.


توجه داشته باشید که این کد‌ها فقط نمونه‌ای از روش‌های ممکن برای انجام این کار هستند و شما می‌توانید با توجه به نیازهای خود از روش‌های دیگری نیز استفاده کنید.

پرستو پارسایی
جمعه 25 فروردین 1402, 22:47 عصر
// تعریف یک ستون جدید از نوع DataGridViewLinkColumn
DataGridViewLinkColumn linkColumn = new
DataGridViewLinkColumn();
linkColumn.HeaderText = "نام ستون لینک";
linkColumn.Name = "linkColumn";


// حذف ستون TextBoxColumn قبلی
dataGridView1.Columns.Remove("textBoxColumn");


// افزودن ستون جدید به جای ستون TextBoxColumn
dataGridView1.Columns.Insert(2, linkColumn); // 2 ایندکس ستون قبلی بوده است


// تنظیم مقادیر ستون جدید
foreach (DataGridViewRow row in dataGridView1.Rows)
{
// اگر مقدار ستون TextBoxColumn خالی نبود، آن را به ستون جدید منتقل می کنیم
if (row.Cells["textBoxColumn"].Value != null)
{
string cellValue = row.Cells["textBoxColumn"].Value.ToString();
row.Cells["linkColumn"].Value = cellValue;
}
}

در این کد، ابتدا یک ستون جدید از نوع DataGridViewLinkColumn تعریف شده و ستون قبلی از نوع DataGridViewTextBoxColumn حذف شده سپس ستون جدید به جای ستون قبلی در ایندکس مورد نظر ( 2 در این مثال )
اضافه شده است. در نهایت، مقادیر ستون جدید از مقادیر ستون قبلی به طور دستی تنظیم شده‌اند. شما می توانید این بخش را با داده های خود جایگزین کنید