Veröffentlicht 4. April 200520 j Hallo Zusammen, ich habe eine Frage zum DataGrid. Mein DataGrid sieht wie folgt aus: Name | Datum1 |Datum2 Jetzt will ich Zeile für Zeile vergleichen, ob Datum2 ungleich Datum1 und je nach Ergebniss den Datum2 Wert farbig markieren. Kann mir jemand sagen, wie man das macht? Leider arbeite ich noch nicht lange mit ASP.NET und VB.NET. Vielen Dank
4. April 200520 j Dies müsste ganz einfach mit dem Textmatrix oder Textarray wert gehen, den müsstest du auf dem Datagrid finden...
4. April 200520 j nee das ist so, du bekommst nur den wert des Feldes zurück, irgendwie so war das glaub: DataGrid.TextArray(Zeile, Spalte)....guck einfach mal *g* sonst sag mir was es bei dir alles gibt...
5. April 200520 j Hallo, danke für deine Hilfe, aber leider finde ich nichts, wo mir ein Array zurück gibt. Ich habe sehr viele Attribute zu Verfügung. Gibt es noch eine andere Möglichkeit zwei Zellen zu vergleichen? Wie kann ich einen einzelne Zelle auslesen?
5. April 200520 j oh sorrrrryyy hatte mich beim grid vertan. Direkt vergleichen geht dann wohl net, das was ich gemeint hab war das msflexgrid.... ließt du die daten denn per ado aus einer datenbank???
5. April 200520 j So sieht das bei mir aus, beim Kommentar TODO sollen 2 Werte verglichen werden. Private Sub BindGrid() Dim qual As String If Request.QueryString("ReturnTo") = "ErgListe" And Request.QueryString("Item") = "2" Then dvOpenPOList.Table = sdb.GetOpenPurchaseOrderList( _ Global.GetPartnerId(Session), _ getTabOwnerId(), _ CStr(Session(Global.SESSION_BE_PARAMSUCHE_POID)), _ CStr(Session(Global.SESSION_BE_PARAMSUCHE_QUALDB)), _ CStr(Session(Global.SESSION_BE_PARAMSUCHE_RSDATE)), _ CStr(Session(Global.SESSION_BE_PARAMSUCHE_PODATEVON)), _ CStr(Session(Global.SESSION_BE_PARAMSUCHE_PODATEBIS)), _ CStr(Session(Global.SESSION_BE_PARAMSUCHE_ALLOWCHANGES)), _ CStr(Session(Global.SESSION_BE_PARAMSUCHE_NOTPOC)), _ CStr(Session(Global.SESSION_BE_PARAMSUCHE_OTHERDATE))) dvOpenPOList.Sort = CStr(Session(Global.SESSION_BE_SORTSTRING)) 'dvOpenPOList.RowFilter = CStr(Session(Global.SESSION_BE_FILTER)) dgOpenPOList.DataSource = dvOpenPOList dgOpenPOList.DataBind() Else If ddlFiltQuality.SelectedIndex = 0 Then qual = "" Else qual = Global.GetQualityAsDBString(Session, ddlFiltQuality.SelectedItem.Text) End If dvOpenPOList.Table = sdb.GetOpenPurchaseOrderList( _ Global.GetPartnerId(Session), _ getTabOwnerId(), _ txtFiltPurchaseOrderID.Text, _ qual, _ txtReqShipmentDate.Text, _ txtConfDateOfPurchaseOrderVon.Text, _ txtConfDateOfPurchaseOrderBis.Text, _ CStr(chkAllowChanges.Checked), _ CStr(chkNotPOC.Checked), _ CStr(chkOtherDate.Checked)) dvOpenPOList.Sort = CStr(Session(Global.SESSION_BE_SORTSTRING)) 'dvOpenPOList.RowFilter = CStr(Session(Global.SESSION_BE_FILTER)) dgOpenPOList.DataSource = dvOpenPOList 'TODO bestätigter Liefertermin 'leer, wenn es keinen gibt 'grün, wenn das Datum = Wunschtermin ist 'rot, wenn das Datum <> Wunschtermin ist dgOpenPOList.DataBind() End If Session(Global.SESSION_BE_PARAMSUCHE_QUALDB) = qual End Sub Ich glaube nicht das die Daten über ADO gelesen werden, da immer direkt auf eine StoreProcedure zugegriffen wird.
5. April 200520 j Ich habe es jetzt wie folgt gelöst: Sub dgOpenPOList_ItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs) Handles dgOpenPOList.ItemDataBound If e.Item.Cells.Count = 9 Then Dim bestell As DateTime Dim liefer As DateTime Try bestell = Convert.ToDateTime(e.Item.Cells(7).Text) liefer = Convert.ToDateTime(e.Item.Cells(8).Text) If (bestell.Equals(liefer) = False) Then Dim s As Style s = New Style s.BackColor() = Color.Red e.Item.Cells(8).ApplyStyle(s) e.Item.Cells(2).Text = "test" End If Catch ex As Exception End Try End If End Sub Danke für deine Hilfe
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.