Forum: ASP.NET |
Thema:
Gruppieren in ASP.NET Datagrid |
Von:
Stephan (
26.01.2005 09:34) |
Hallo,
ich habe im Internet nach einer Lösung gesucht um Items in einem Datagrid gruppieren zu können. Ich kann mich zwar nicht mehr erinnern, von wem ich den Code habe, aber hier:
Private Sub dgJobs_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgJobs.ItemDataBound
Dim dgiRow As DataGridItem = e.Item
Dim objJob As BusinessLogic.Job.Job
If dgiRow.ItemType = ListItemType.AlternatingItem Or dgiRow.ItemType = ListItemType.Item Then
objJob = dgiRow.DataItem
If objJob.JobProfileID <> iJobProfileID Then
iJobProfileID = objJob.JobProfileID
iCounter += 1
AddRow(dgiRow.ItemIndex + iCounter, iJobProfileID, e.Item.ItemIndex, e.Item.DataSetIndex)
'e.Item.DataBind()
'dgiRow.DataItem = objJob
'dgiRow.DataBind()
End If
End If
End Sub
Private Sub AddRow(ByVal index As Integer, ByVal xiJobProfileID As Integer, ByVal xiItemIndex As Integer, ByVal xiDataIndex As Integer)
Dim objItem As SharedLibraries.ComboOptions
For Each objItem In Me.objSite.JobprofilesCombo
If objItem.Content = xiJobProfileID Then
Exit For
End If
Next
'Create blank row
Dim t As Table = CType(dgJobs.Controls(0), Table)
Dim blankCell As TableCell = New TableCell()
blankCell.CssClass = "Headeritem"
blankCell.ColumnSpan = dgJobs.Columns.Count
blankCell.Text = "<u><b>" & objItem.Text & "</b></u>"
Dim tblRow As DataGridItem = New DataGridItem(xiItemIndex, xiDataIndex, ListItemType.Item)
tblRow.Cells.Add(blankCell)
t.Rows.AddAt(index, tblRow)
End Sub
In diesem Code wird, wenn sich die JobprofileID ändert eine "Gruppierungszeile" eingefügt.
Die Darstellung der Seite funktioniert super, aber ich habe nun das Problem, dass durch diese zusätzlichen Zeilen, das Datagrid die ItemIndexe durcheinanderbringt.
Dieses Datagrid stellt eine Liste von Jobs dar und jede Zeile hat einen Link zu den Details. Als Datenquelle für dieses Datagrid dient eine Arraylist mit selbstgeschriebenen Objekten.
Es tritt nun der Fehler auf, dass nach der Gruppierten Zeile der Linkbutton der im ItemTemplate steckt keine Commandarguments hat. Das passiert aber nur in der Zeile nach der Gruppierungszeile.
Ich habe schon probiert den Itemindex anzupassen aber dieses Property ist leider readonly.
Kann mir jemand sagen wie ich dieses Problem lösen kann?
LG
Stephan
Betreff |
Von |
Datum |
|
|
Hannes
Preishuber
|
26.01.2005 11:10 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!