سلام و خسنه نباشید چگونه دوستان از طریق کد نویسی در سی شارپ نوع ستون دیتاگریدویو خود را که از نوع DataGridViewTextBoxeColumn می باشد را به DataGridViewLinkColumn تغییر بدهم با تشکر و سپاس
Printable View
سلام و خسنه نباشید چگونه دوستان از طریق کد نویسی در سی شارپ نوع ستون دیتاگریدویو خود را که از نوع DataGridViewTextBoxeColumn می باشد را به DataGridViewLinkColumn تغییر بدهم با تشکر و سپاس
برای تغییر نوع یک ستون در یک شیء DataGridView در سی شارپ، ابتدا باید یک شیء از کلاس DataGridViewLinkColumn بسازید، سپس به DataGridView مربوطه اضافه کنید و ستون مورد نظر را حذف و ستون جدید را در جایگاه دلخواه قرار دهید.
برای مثال، فرض کنید که شیء DataGridView شما به نام dataGridView1 است و شما میخواهید ستون دوم را از نوع DataGridViewTextBoxColumn به نوع DataGridViewLinkColumn تغییر دهید.
اولین قدم ایجاد یک شیء DataGridViewLinkColumn است:
DataGridViewLinkColumn linkColumn = new DataGridViewLinkColumn();در این مثال، یک ستون با عنوان "My Link Column" و نام "linkColumn" ساخته شده است. شما میتوانید هر نام و عنوان دیگری را انتخاب کنید.
linkColumn.HeaderText = "My Link Column";
linkColumn.Name = "linkColumn";
سپس میتوانید ستون جدید را به DataGridView اضافه کنید:
dataGridView1.Columns.Add(linkColumn);حالا میتوانید ستون مورد نظر را از DataGridView حذف کنید و ستون جدید را در جایگاه دلخواه قرار دهید:
dataGridView1.Columns.Remove("oldColumnName");در اینجا، "oldColumnName" باید نام ستون قبلی باشد که میخواهید آن را حذف کنید. همچنین، در این مثال، ستون جدید را در جایگاه دوم (بعد از ستون اول) قرار دادیم.
dataGridView1.Columns["linkColumn"].DisplayIndex = 1;
توجه داشته باشید که این کدها فقط نمونهای از روشهای ممکن برای انجام این کار هستند و شما میتوانید با توجه به نیازهای خود از روشهای دیگری نیز استفاده کنید.
// تعریف یک ستون جدید از نوع 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 در این مثال )
اضافه شده است. در نهایت، مقادیر ستون جدید از مقادیر ستون قبلی به طور دستی تنظیم شدهاند. شما می توانید این بخش را با داده های خود جایگزین کنید