26. januar 2005 - 20:22Der er
7 kommentarer og 1 løsning
Endelig færdig, men stadig et underlidt problem som fryser prg.
Hej eksperter.
Jeg er endelig blevet færdigt med et lagerstyringssystem, men programmet har desværre en bug. Jeg har oprettet et datagrid, og har en mouseavent, som gør det muligt at få fat i Id'en tilhørende den markede post i datagriddet. Hvis man så trykker på datagriddet et sted hvor der ikke er en post, så fryser programmet, og jeg er nød til at genstarter.
Jeg tror det har noget med nedenstående kode at gøre, men er absolut ikke sikker. Dog vil alle forslag blive modtaget med glæde.
Public Sub dataGrid1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseUp Dim pt = New Point(e.X, e.Y) Dim hti As DataGrid.HitTestInfo = DataGrid1.HitTest(pt) DataGrid1.CurrentCell = New DataGridCell(hti.Row, hti.Column) DataGrid1.Select(hti.Row) Dim pt2 = New Point(e.X, e.Y) Dim hti2 As DataGrid.HitTestInfo = DataGrid1.HitTest(pt2) If hti2.Type = DataGrid.HitTestType.Cell Then TextBox3.Text = (DataGrid1(hti2.Row, 0).ToString()) End If
Det er et eksempel jeg har fundet, og det det virker, sådan da, har jeg ikke lige sat mig ind i hvad det gør helt præcist, og derfor kan jeg ikke selv løse dette problem.
du bør nok også lave en test på din HitTestInfo før DataGrid1.CurentCell
Public Sub dataGrid1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseUp Dim pt = New Point(e.X, e.Y) Dim hti As DataGrid.HitTestInfo = DataGrid1.HitTest(pt)
If hti.Type = DataGrid.HitTestType.Cell Then DataGrid1.CurrentCell = New DataGridCell(hti.Row, hti.Column) Else Return End If
DataGrid1.Select(hti.Row) Dim pt2 = New Point(e.X, e.Y) Dim hti2 As DataGrid.HitTestInfo = DataGrid1.HitTest(pt2)
If hti2.Type = DataGrid.HitTestType.Cell Then TextBox3.Text = (DataGrid1(hti2.Row, 0).ToString()) Else Return End If End Sub
Ja det kan vel egentlig skrives om til én. Meningen var at den ene markerer hele posten og den anden får fat på det Id jeg skal bruge for at arbejde videre med den markede post...
Men jeg prøver lige at skrive det om til ën i stedet...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.