با سلام خدمت اساتید . یه datagridview داریم که با یک datatable پر می شه من می خوام یه جستجو داخل این datagridview انجام بدم که لغت مورد جستجو رنگش با بقیه جمله متفاوت باشه .
با سلام خدمت اساتید . یه datagridview داریم که با یک datatable پر می شه من می خوام یه جستجو داخل این datagridview انجام بدم که لغت مورد جستجو رنگش با بقیه جمله متفاوت باشه .
dgvPass.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = PassColrCellBackColor;به ترتیب رنگ پس زمینه، قلم و نوع قلم را تغییر می دهند. البته با استفاده از خصوصیت Style می توانید قسمتهای دیگر را هم تغییر دهید. در ضمن هم سطر، هم ستون و هم سلول در این کنترل خصوصیتی به نام DefaultStyle دارند که می توانید ظاهر هر کدام را به صورت جداگانه تغییر دهید
dgvPass.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = PassColrCellForeColor;
dgvPass.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.Font = PassColrCellFont;
از اساتید کسی راه حلی نداره ؟
البته من این کد رو پیدا کردم ببینیدif (e.ColumnIndex == 0 && e.RowIndex > -1)
{
if (e.Value != null)
{
string[] lines = e.Value.ToString().Split(',');
if (lines.Length > 1)
{
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
e.Paint(e.CellBounds, DataGridViewPaintParts.All & ~DataGridViewPaintParts.ContentForeground);
Rectangle r = e.CellBounds;
// measure the string
SizeF sizeF01 = e.Graphics.MeasureString(lines[0], e.CellStyle.Font);
Rectangle r01 = new Rectangle(e.CellBounds.Location, new Size((int)(sizeF01.Width + 1), e.CellBounds.Height));
// draw string
using (SolidBrush br = new SolidBrush(Color.Red))
{
e.Graphics.DrawString(lines[0], e.CellStyle.Font, br, r01, sf);
}
SizeF sizeF02 = e.Graphics.MeasureString(lines[1], e.CellStyle.Font);
Rectangle r02 = new Rectangle(new Point(e.CellBounds.Location.X + (int)(sizeF01.Width + 1), e.CellBounds.Y), new Size((int)(sizeF02.Width + 1), e.CellBounds.Height));
using (SolidBrush br = new SolidBrush(Color.Blue))
{
e.Graphics.DrawString(lines[1], e.CellStyle.Font, br, r02, sf);
}
e.Handled = true;
}
}
}
ولی مشکل من اینه که این کد بر ای تعداد معینی لغت هست و در حالی که ما نمی دونیم چه تعداد لغت و در کدام قسمت جمله لغت مورد نظرما قرار گرفته .
از اساتید کسی راه حلی نداره ؟
شما در داتا گرید ویوی سی شارپ، درون هر ستون می توانید از 6 کنترل (دکمه، چک باکس، لیست طومارری، عکس، پیوند و کادر متن) استفاده نمایید. کادر متنی که شما می توانید استفاده کنید TextBox است که همانند نرم افزار NotePad ویندوز عمل می کنه پس نمی توان رنگ قسمتی از متن آن را تغییر داد. برای تغییر دادن رنگ قسمتی از متن نیاز به RichTextBox است.