Hej, Istället för att lägga information i en tabell så kanske du skulle använda dig av en datagrid? Vet inte om det går snabbare men du kan loopa i en asp-table också om du vill. Type for each tr in asptable.rows.count. Men frågan är väl mer vad det är du gör. Om sidan går "trögt" som du säger kanske det är fel aproach redan där. Ja, jag kanske gör det svårare en det behöver vara. Hej igen.. Nu har jag löst detta.Hitta en tabellrad från code behind
Jag försöker hitta en rad i min tabell från code behind. Tabellen är <ASP:TABLE>
Jag ska markera den raden är tanken vid ett onclick event.
Jag vet vilket ID raden har och jag hittar den med följande kod:
Dim SelectedRow As TableRow = DirectCast(FindControl(productID), TableRow)
Men det känns som det borde finnas smartare sätt? Detta verkar ta prestanda. jag gör nämligen detta på flera olika saker(dvs försöker hitta olika rader o celler) och då får jag göra FindControl flera gånger.
Sidan går segare än alla andra.
Någon som har en smartare lösning?
/Jocke
Sv: Hitta en tabellrad från code behind
Sv:Hitta en tabellrad från code behind
Sv: Hitta en tabellrad från code behind
Det gör vill göra är att lista produkter och lägga till "onmouseover" på raderna.
Sen skall produkten man klickat på vara markerad, dvs annan bakgrundsfärg.
Listan är linkbuttons(och det måste det vara).
Lite osäker på hur man fixar onmouseover och att senast klickad rad är markerad i en datagrid?
Några tips?
/JockeSv:Hitta en tabellrad från code behind
Nu har jag ändrat till en datagrid och fått till mina frågor ovan.
Skall visa det när jag löst detta sista:
Hur lägger man till en extra rad för varje rad i en datagrid?
Alltså, mellan varje produkt i griden, vill jag ha en rad där jag ska visa en bild. Ingen bild som har något att göra med datat, utan en vanlig bild(samma bil för varje rad).
Tackar på förhand!!
/Jocke
P.S. Det går otroligt mycket snabbare sedan jag bytte till en datagrid!Sv: Hitta en tabellrad från code behind
Onmouseover i griden:
Private Sub dgProducts_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgProducts.ItemCreated
e.Item.Attributes.Add("onMouseOver", "this.className='ProductNavigationListHover';")
e.Item.Attributes.Add("onMouseOut", "this.className='';")
End Sub
För att lägga till en extra rad för varje item i griden:
Private Sub dgProducts_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgProducts.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim dgItem As DataGridItem
Dim dgCell As TableCell
dgItem = New DataGridItem(0, 0, ListItemType.Item)
dgCell = New TableCell
dgCell.ColumnSpan = 2
dgItem.Cells.Add(dgCell)
dgCell.Text = "<img src=""Images/spacer_white.gif"" width=""157"" height=""1"">"
dgProducts.Controls(0).Controls.Add(dgItem)
End If
'Ladda in första produkten i griden
If Not Page.IsPostBack Then
If e.Item.DataSetIndex = 0 Then
LoadProductData(e.Item.Cells(2).Text) 'Produkt id
End If
End If
End Sub
/Jocke