tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDataGrid選択内容をToolTipで表示する方法
記事No6473
投稿日: 2007/10/26(Fri) 17:11
投稿者こまった
最近VB6をやっと卒業したVB.NET初心者です。
DataGrid選択内容をToolTipで表示するところ悩んでいます。

項目のひとつひとつが長く、画面に収まりきらないため、ToolTipを使用し、
選択した内容の英字説明文(DBで保持している項目)を表示させようとしています。
マウスカーソルをリストに合わせた時、ToolTipで内容を表示させたいのですが、
DataGridに適切なイベントもなくどうやったら良いか大変こまっております。

何卒よろしくお願いします。

[ツリー表示へ]
タイトルRe: DataGrid選択内容をToolTipで表示する方法
記事No6474
投稿日: 2007/10/26(Fri) 20:50
投稿者花ちゃん
表示するだけなら。

Private Sub DataGrid1_MouseMove(ByVal sender As Object, _
            ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseMove
   Dim pos As System.Windows.Forms.DataGrid.HitTestInfo = DataGrid1.HitTest(e.X, e.Y)
   If pos.Type = DataGrid.HitTestType.Cell Then
      ToolTip1.SetToolTip(Me.DataGrid1, DataGrid1.Item(pos.Row, pos.Column).ToString)
   End If
End Sub

VB2005 なら、DataGridViewコントロール を使ったら簡単に表示できるが。

[ツリー表示へ]
タイトルRe^2: DataGrid選択内容をToolTipで表示する方法
記事No6477
投稿日: 2007/10/29(Mon) 16:36
投稿者こまった
> 表示するだけなら。
>
> Private Sub DataGrid1_MouseMove(ByVal sender As Object, _
>             ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseMove
>    Dim pos As System.Windows.Forms.DataGrid.HitTestInfo = DataGrid1.HitTest(e.X, e.Y)
>    If pos.Type = DataGrid.HitTestType.Cell Then
>       ToolTip1.SetToolTip(Me.DataGrid1, DataGrid1.Item(pos.Row, pos.Column).ToString)
>    End If
> End Sub
>
> VB2005 なら、DataGridViewコントロール を使ったら簡単に表示できるが。

花ちゃんさん
ご返答ありがとうございます。

(この掲示板の対象ではない質問でしたら大変申し訳ないです。。)
(まったくの素人ですみません。。)
WebフォームのDataGridを使用して実現したいのですが可能でしょうか?
現在DataGridを使用しておりまして、なるべくDataGridを使用したいと考えております。

[ツリー表示へ]
タイトルRe^3: DataGrid選択内容をToolTipで表示する方法
記事No6483
投稿日: 2007/11/01(Thu) 15:19
投稿者こまった
> > 表示するだけなら。
> >
> > Private Sub DataGrid1_MouseMove(ByVal sender As Object, _
> >             ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseMove
> >    Dim pos As System.Windows.Forms.DataGrid.HitTestInfo = DataGrid1.HitTest(e.X, e.Y)
> >    If pos.Type = DataGrid.HitTestType.Cell Then
> >       ToolTip1.SetToolTip(Me.DataGrid1, DataGrid1.Item(pos.Row, pos.Column).ToString)
> >    End If
> > End Sub
> >
> > VB2005 なら、DataGridViewコントロール を使ったら簡単に表示できるが。
>
> 花ちゃんさん
> ご返答ありがとうございます。
>
> (この掲示板の対象ではない質問でしたら大変申し訳ないです。。)
> (まったくの素人ですみません。。)
> WebフォームのDataGridを使用して実現したいのですが可能でしょうか?
> 現在DataGridを使用しておりまして、なるべくDataGridを使用したいと考えております。

WebフォームのDataGrid選択内容をToolTipで表示する方法ですが、
ItemDataBoundに以下コードを記述して出来ました。
(何かしらの考慮不足があるかもしれませんが・・)

花ちゃんさん
ありがとうございました。

    Private Sub userTbl_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles userTbl.ItemDataBound

        If e.Item.ItemIndex < 0 Then
            e.Item.Cells(1).ToolTip = e.Item.Cells(1).Text
            e.Item.Cells(2).ToolTip = e.Item.Cells(2).Text
            e.Item.Cells(3).ToolTip = e.Item.Cells(3).Text
            e.Item.Cells(4).ToolTip = e.Item.Cells(4).Text
        Else
            e.Item.Cells(1).ToolTip = CType(e.Item.Cells(1).Controls(0), System.Web.UI.DataBoundLiteralControl).Text.Trim()
            e.Item.Cells(2).ToolTip = CType(e.Item.Cells(2).Controls(0), System.Web.UI.DataBoundLiteralControl).Text.Trim()
            e.Item.Cells(3).ToolTip = CType(e.Item.Cells(3).Controls(0), System.Web.UI.DataBoundLiteralControl).Text.Trim()
            e.Item.Cells(4).ToolTip = CType(e.Item.Cells(4).Controls(0), System.Web.UI.DataBoundLiteralControl).Text.Trim()
        End If

    End Sub

[ツリー表示へ]