2017-06-07 3 views
0

Ich möchte Index von jeder Zeile, die meine Maus über und nicht unbedingt aus der ausgewählten Zeile ist.So erhalten Sie den Index der Zeile, wenn MouseHover in Radgridview

Private Sub RadGridView1_MouseHover(sender As Object, e As EventArgs) Handles RadGridView1.MouseHover 
      Try 
       toolidx = RadGridView1.CurrentCell.RowIndex 
       strphone = dsOrders.Tables(0).Rows(toolidx)("DeliveryPhone") 

      Catch ex As Exception 
       RadMessageBox.Show(ex.Message, projectName, MessageBoxButtons.OK, RadMessageIcon.Error) 
       errlog.WriteLog(ex.Message.ToString, Me.Name, System.Reflection.MethodBase.GetCurrentMethod().Name.ToString()) 
      End Try 
     End Sub 

der Code über das tut, was ich will, aber für die ausgewählte Zeile möchte ich den Index der Zeile erhalten, wenn die Maus über diese Zeile ist. Kann jemand helfen?

+0

[Old Link auf telerik] (http://www.telerik.com/forums/finding-the-grid-row-item-under-the-mouse-pointer), kann sehr wohl geändert haben, aber es gibt dort Beispiel Code zum Download zur Verfügung –

+0

die Antwort muss einfacher sein :( – vicangel

Antwort

0

Sie sollten in der Lage sein, die Zelle mit der folgenden Anweisung zu erhalten. Sollte nicht schwierig sein, den Zeilen- und Spaltenindex daraus zu erhalten.

Dim cell As GridCellElement = TryCast(RadGridView1.ElementTree.GetElementAtPoint(e.Location), GridCellElement) 

Als GetElementAtPoint Element von Grid zurückkehren konnten, die Zellen nicht notwendigerweise sind, DataCells genauer sein. Vergiss nicht zu überprüfen, was wirklich unter dem Cursor ist.

Da das MouseHover-Ereignis keine Informationen über Koordinaten enthält, sollten Sie stattdessen das MouseMove-Ereignis verwenden oder die Cursor.Position-Eigenschaft verwenden.

Kredit von http://www.telerik.com/forums/determining-the-mouse-down-position-in-cell und mouse coordinates in MouseHover event?

+0

Vielen Dank für die Antwort, aber e.location ist leider nicht in mouseHover Ereignis akzeptiert, ich möchte nicht auf die Zelle klicken, ich möchte nur um es zu schweben – vicangel

+0

Aktualisierte meine Antwort zu Ihrem Standortproblem –

+0

Vielen Dank für die Antworten Vielleicht brauche ich sie ein anderes Mal Ich habe mein Problem gelöst. – vicangel

0

Mein wirkliches Problem war ... ich hier ein Tooltip in bestimmten Spalte und Tooltip zeigen den Wert einer anderen Spalte hinzufügen wollte, ist der Code, dies zu tun.

Private Sub RadGridView1_ToolTipTextNeeded(sender As Object, e As ToolTipTextNeededEventArgs) Handles RadGridView1.ToolTipTextNeeded 
     Try 
      Dim cell As GridDataCellElement = TryCast(sender, GridDataCellElement) 

      If cell IsNot Nothing AndAlso cell.ColumnInfo.Name = "DeliveryName" Then  
       e.ToolTipText = cell.RowInfo.Cells.Item("DeliveryPhone").Value 

      End If 
     Catch ex As Exception 
      RadMessageBox.Show(ex.Message, projectName, MessageBoxButtons.OK, RadMessageIcon.Error) 
      errlog.WriteLog(ex.Message.ToString, Me.Name, System.Reflection.MethodBase.GetCurrentMethod().Name.ToString()) 
     End Try 
    End Sub 
Verwandte Themen