سلام و خسنه نباشید چگونه دوستان از طریق کد نویسی در سی شارپ نوع ستون دیتاگریدویو خود را که از نوع DataGridViewTextBoxeColumn می باشد را به DataGridViewLinkColumn تغییر بدهم با تشکر و سپاس
سلام و خسنه نباشید چگونه دوستان از طریق کد نویسی در سی شارپ نوع ستون دیتاگریدویو خود را که از نوع 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 در این مثال )
اضافه شده است. در نهایت، مقادیر ستون جدید از مقادیر ستون قبلی به طور دستی تنظیم شدهاند. شما می توانید این بخش را با داده های خود جایگزین کنید
آخرین ویرایش به وسیله پرستو پارسایی : جمعه 25 فروردین 1402 در 23:02 عصر