2011-08-24 9 views
25

datagridviewのツールチップをdatagridviewの各項目に表示するには、その特定の行の項目にマウスを合わせるとどうなりますか?マウスがその上にあるときに、データグリッドビューの各項目のツールヒントを表示

私は列を持つテーブルproductを持っている:

product name 
product price 
product description 
product image .... 

私は列のdatagridviewを持つ必要性があると私は、データベースからこれらを取得しています:

product name 
product price 
product image .... 

は今、私が見せたいですこのようなツールチップ:製品イメージの上にマウスがある場合、その製品の製品説明が表示されます。私はすべての行のためにこれをしたい。誰もこの1つを助けてくれますか?

答えて

36

DataGridViewCell.ToolTipText propertyを見て、このプロパティの値を設定するのDataGridViewのCellFormattingイベントを使用します。イベントのDataGridViewCellFormattingEventArgsColumnIndexプロパティを使用して、ツールヒントを設定する列のイベントが発生しているかどうかを判断し、その場合はイベントのRowIndexを使用してツールチップの値を指定できます。

サンプルは、MSDNの記事で私は、使用の良い例を持っているリンクされますが、あなたのコードは次のようになります。あなたのイメージの列名またはインデックス値を=
nameOrIndexOfYourImageColumn

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { 
    if (e.ColumnIndex == dataGridView1.Columns[nameOrIndexOfYourImageColumn].Index) { 
     var cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]; 
     // Set the Cell's ToolTipText. In this case we're retrieving the value stored in 
     // another cell in the same row (see my note below). 
     cell.ToolTipText = dataGridView1.Rows[e.RowIndex].Cells[nameOrIndexOfYourDescriptionColumn].Value.ToString(); 
    } 
} 

どこ列 nameOrIndexOfYourDescriptionColumn =説明データの列名または索引値。

注:行の説明データを取得するには、何らかの方法が必要です。これを行う一般的な方法は、DataGridViewに列を作成することですが、Visibleプロパティをfalseに設定してこの列を表示しないためです。しかし、他のオプションがあります。

+0

多くの感謝..仕事は今....... –

3

DataGridViewCellTagプロパティにある各セルのツールチップに表示するテキストを保存することでこれを行いました。

はその後DataGridView.CellMouseEnterイベントであなたは、マウスがDataGridViewCellEventArgs.ColumnIndexDataGridViewCellEventArgs.RowIndex値を使用しているセルに見ることができるとToolTip.SetToolTipを使用してツールヒントテキストとして対応するセルからテキストを設定します。

Ifはうまくいきます。このような

何か:

private void dgv_CellMouseEnter(object sender, DataGridViewCellEventArgs e) 
{ 
    if (e.ColumnIndex >= 0 & e.RowIndex >= 0) 
    { 
     ToolTip1.SetToolTip(dgv, Convert.ToString(dgv.Item(e.ColumnIndex, e.RowIndex).Tag)); 
    } 
} 
+0

あなたはいくつかのサンプルコードで精巧になりますか?それは私にたくさんの助けになります.. –

3

datagridviewを入力するときは、セルのTooltipTextプロパティを表示するテキストに設定するだけです。

関連する問題