PDA

View Full Version : toolTip برای هر ستون از dataGridView



alireza_tavakol
جمعه 06 مهر 1386, 02:06 صبح
دوستان من در فرم گزارش گیری از گروه های کالای جدولی دارم
دوست دارم کابر وقتی با موس روی هر سطر از این جدول رفت toolTip برای نمایش کالا های هر گروه به نمایش در بیاید به نظر شما راه کار این تفکر چیست

alireza_tavakol
شنبه 07 مهر 1386, 02:54 صبح
اگه سوالم نامفهومه یه کم بیشتر توضیح بدم.

ghafoori
شنبه 07 مهر 1386, 09:02 صبح
بیشتر توضیح دهید ایا شما می خواهید اطلاعات سطر را بصورت رشته داخل tooltip نمایش دهید؟؟؟

alireza_tavakol
شنبه 07 مهر 1386, 16:12 عصر
میشه گفت بله !!!

ghafoori
یک شنبه 08 مهر 1386, 09:07 صبح
من این روش به ذهنم می اید داخل رویداد موس move با متغییری از نوع hittest شماره ردیف را بدست اورد سپس کل ردیف را به رشته تبدیل کرد و نمایش داد مثلا یک همچین کدی


DataGridView.HitTestInfo info;
int a;
string s;
private void dataGridView1_MouseMove(object sender, MouseEventArgs e)
{
info = dataGridView1.HitTest(e.X, e.Y);
s = "";
if (info.RowIndex > 0) {
for (a = 0; a < dataGridView1.ColumnCount; a++) {
if (dataGridView1.Rows[info.RowIndex].Cells[a].Value != null) {
s +=";"+ dataGridView1.Rows[info.RowIndex].Cells[a].Value.ToString();
}
}
this.toolTip1.Show(s, this);
}
}

روش کارکنی فکر کنم جواب بده

dot_net_lover2
یک شنبه 08 مهر 1386, 20:14 عصر
// Sets the ToolTip text for cells in the Rating column.
void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
if ( (e.ColumnIndex == this.dataGridView1.Columns["Rating"].Index)
&& e.Value != null )
{
DataGridViewCell cell =
this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
if (e.Value.Equals("*"))
{
cell.ToolTipText = "very bad";
}
else if (e.Value.Equals("**"))
{
cell.ToolTipText = "bad";
}
else if (e.Value.Equals("***"))
{
cell.ToolTipText = "good";
}
else if (e.Value.Equals("****"))
{
cell.ToolTipText = "very good";
}
}
}