PDA

View Full Version : شکستن متن در سلول درون یک گرید ویو



ASKaffash
یک شنبه 03 اسفند 1393, 12:24 عصر
سلام
اگر دقت کرده باشید در یک سلول گرید اگر طول یک رشته طولانی باشد در انتهای آن ... قرار میدهد آیا در گرید خاصیتی یا روشی وجود دارد که ادامه متن طولانی در خطوط بعدی شکسته شود؟

محمد آشتیانی
یک شنبه 03 اسفند 1393, 12:40 عصر
سلام
این لینک احتمالا پاسخ شماست http://stackoverflow.com/questions/6325759/ensuring-text-wraps-in-a-datagridview-column

تو رویداد CellPainting باید کنترل کنی

private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.Value == null)
return;
var s = e.Graphics.MeasureString(e.Value.ToString(), dataGridView1.Font);
if (s.Width > dataGridView1.Columns[e.ColumnIndex].Width)
{
using (
Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),
backColorBrush = new SolidBrush(e.CellStyle.BackColor))
{
e.Graphics.FillRectangle(backColorBrush, e.CellBounds);
e.Graphics.DrawString(e.Value.ToString(), dataGridView1.Font, Brushes.Black, e.CellBounds,StringFormat.GenericDefault);
dataGridView1.Rows[e.RowIndex].Height = (int)(s.Height * Math.Ceiling( s.Width / dataGridView1.Columns[e.ColumnIndex].Width)) ;
e.Handled = true;
}
}
}




موفق باشید

ASKaffash
دوشنبه 04 اسفند 1393, 07:00 صبح
سلام
ممنون از پاسختون با این روش مدیریت چاپ و خیلی کارهای دیگر هر سلول باید توسط خودمان انجام شود من قبلا دیده بودم که در چند خط می شکست ولی یادم رفته چطوری (یک تنظیم بود)