نوشته شده توسط
mahnaz20
من توی دیتا گرید ویو یه ستون به نام ردیف دارم که قراره وقتی فرم لود میشه ، به ازای نام هر فردی که در دیتاگرید ویو میاد ، شماره ردیف داشته باشه(و مقدار این ستون از بانک نمیاد)(من میخوام بوسیله سی شارپ شماره های ردیف رو تولید کنم )
مثلا اولین نفر ، ردیف شماره 1 باشه ، دومی ردیف شماره 2 و ....
من سوال و مطالبی که دوستان گفتند رو خوندم
- اینکه ما یک ردیف به گرید اضافه کنیم فقط به خاطر شمارش سطر ها کار جالبی نیست!
- اینکه یک فیلد AutoNumber دیتابیس رو نمایش بدیم اصلا خوب نیست به فرض بخوای اطلاعات گرید رو فیلتر کنی اونوقت شمارهات به هم میریزه ...
راه حلی که من به نظرم درسته اینه که از Header هر سطر استفاده بشه و شماره در هدر نوشته بشه من کلاس زیر رو در پروژم مینویسم :
public void AutoNumberDataGridRows(DataGridView dgv)
{
int rowNumber = 1;
foreach (DataGridViewRow row in dgv.Rows)
{
if (row.IsNewRow) continue;
row.HeaderCell.Value = rowNumber.ToString();
rowNumber = rowNumber + 1;
}
}
و این کلاس رو در EVENT مورد نظرم صدا میزنم مثلا میتونید در زمان بایند اطلاعات به گرید شماره گزاری رو هم با کد زیر انجام بدید :
this.AutoNumberDataGridRows(dataGridViewSpesific1) ;
سوالی اگر بود در خدمتم ...