PDA

View Full Version : سوال: چاپ شماره سطر در Row Header Data Grid View



rezgar_roshan
چهارشنبه 04 تیر 1393, 23:05 عصر
سلام دوستان گرامی.
لطفا راهنمایی فرمایید.
چطور میشه در Row Hearer یک Data Grid View شماره سطرهای همان دیتا گرد ویو رو نشون داد.
با تشکر

rezgar_roshan
چهارشنبه 04 تیر 1393, 23:25 عصر
منظورم اینه که روی row header در هر grid view که در حالت عادی هیچی نشون نمیده و وقتی سطر رو انتخاب کنی یه فلش روی آن ظاهر میشه، شماره سطرها رو به ترتیب یا همان شماره لاین رو روی row header نشون بده.
امیدوارم منظورم رورسونده باشم.

khokhan
چهارشنبه 04 تیر 1393, 23:58 عصر
منظورم اینه که روی row header در هر grid view که در حالت عادی هیچی نشون نمیده :لبخند:و وقتی سطر رو انتخاب کنی یه فلش روی آن ظاهر میشه، شماره سطرها رو به ترتیب یا همان شماره لاین رو روی row header نشون بده.
امیدوارم منظورم رورسونده باشم.

.................................................. .................................................. .........................


private void setRowNumber(DataGridView dgv)
{
foreach (DataGridViewRow row in dgv.Rows)
{
row.HeaderCell.Value = row.Index + 1;
}

dgv.AutoResizeRowHeadersWidth(DataGridViewRowHeade rsWidthSizeMode.AutoSizeToAllHeaders);

}

m_soheyl_s
دوشنبه 13 مرداد 1393, 15:52 عصر
.................................................. .................................................. .........................


private void setRowNumber(DataGridView dgv)
{
foreach (DataGridViewRow row in dgv.Rows)
{
row.HeaderCell.Value = row.Index + 1;
}

dgv.AutoResizeRowHeadersWidth(DataGridViewRowHeade rsWidthSizeMode.AutoSizeToAllHeaders);

}

این تابع رو کجا باید فراخوانی کرد؟
من کدهای داخل این تابع را درون فرم لود گذاشتم اما جواب نداد.
منظورمن اینه که شماره ها در این قسمت باشه (جاهایی که شماره ها رو با رنگ قرمز نوشتم میخوام اتوماتیک نوشته بشه):
121975

rezgar_roshan
دوشنبه 13 مرداد 1393, 17:05 عصر
ببین دوست من. من زیاد باهاش ور رفتم. آخرش نتیجه این بود که میزارم شما هم استفاده کنید.
ابتدا یه تابع تقریبا مثل بالایی ( البته با مقداری تغییر) تعریف می‌کنیم.

private 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;
}
}

سپس این تابع رو هنگام فیل کردن دیتا گرد فراخوانی کن.

m_soheyl_s
دوشنبه 13 مرداد 1393, 21:35 عصر
ببین دوست من. من زیاد باهاش ور رفتم. آخرش نتیجه این بود که میزارم شما هم استفاده کنید.
ابتدا یه تابع تقریبا مثل بالایی ( البته با مقداری تغییر) تعریف می‌کنیم.

private 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;
}
}

سپس این تابع رو هنگام فیل کردن دیتا گرد فراخوانی کن.

متاسفانه نتیجه ای نگرفتم
این تابع را هم قبل و هم بعد از Fill کردن استفاه کردم اما نتیجه نداد.

private void AutoNumber(DataGridView dgv)
{
int rowNumber = 1;
foreach (DataGridViewRow row in dgv.Rows)
{
if (row.IsNewRow) continue;
row.HeaderCell.Value = rowNumber.ToString();
rowNumber = rowNumber + 1;
}

}

private void Customers_Load(object sender, EventArgs e)
{
SqlDataAdapter da = new SqlDataAdapter("MyCustomers",con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddWithValue("@idemploy", 1);
DataTable dt = new DataTable();
da.Fill(dt);
AutoNumber(dgvCustomers);
dgvCustomers.DataSource = dt;
AutoNumber(dgvCustomers);
}

rezgar_roshan
پنج شنبه 23 مرداد 1393, 23:57 عصر
دوست من امیدوارم مشکلت حل شده باشه ولی من با همین تابع مشکلو حل کردم که عکسشم میزارم. البته من از روش کد نویسی یه تابع واسه fill کردن دیتا گرید نوشتم و داخل تابع fill بکارش بردم.
122280