Testa vuota per controllo campo dw

martedì 04 gennaio 2005 - 17.27

lobax Profilo | Junior Member

ciao,
dunque .... ho una funzione su una classe esterna che restituisce un dataview
public function GetProdotti(byval search as string....................
.........
return dataset.tables("tabella").defaultview()

dalla pagina recupero il dataview e faccio il binding a un datalist

'quindi:
MyList.DataSource = classe.funzione(par)
MyList.DataBind()

quello che voglio è controllare il valore di 2 campi del dataview se sono 0
non mostrare questi 2 campi a video, se sono <>0 mostrare una stringa al posto del contenuto del campo.
non c'è un modo per avere il controllo diretto su
<%# DataBinder.Eval(Container.DataItem, "campo") %>
senza dover usare .finfcontrol e mettere un controllo che poi dovrò controllare da itemcommand, una cosa semplice e indolore.....che dite?
ciao

lobax Profilo | Junior Member

Mi aiutate? vi posto un pezzo di codice forse non mi sono fatto capire, devo in pratica visualizzare sulla lista di un datalist annidato dentro un altro, una lettere al posto del campo numerico:
Ho proivato in vari modi questo è uno dei tanti:
Private Sub Mylist2_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles Mylist2.ItemCommand
Dim blnCollapsed As Boolean = CType(viewstate("collapsed"), Boolean)
If Not blnCollapsed Then
Dim IdSubCat As Integer
Dim rpt As DataList

rpt = e.Item.FindControl("riplist")
Mylist2.SelectedIndex = e.Item.ItemIndex
IdSubCat = Mylist2.DataKeys(e.Item.ItemIndex)
Dim i As Integer

Dim Pidlist As Offset.garage.ProdDB = New Offset.garage.ProdDB
Pidlist.GetProducts(IdSubCat)


For i = 0 To rpt.Items.Count - 1
Dim PromoLabel As Label = CType(rpt.Items(i).FindControl("PromoLabel"), Label)
Dim promo As Integer
If promo = 0 Then
PromoLabel.Text = " "
Else
PromoLabel.Text = "P"
End If
Next
rpt.DataSource = Pidlist.GetProducts(IdSubCat)
rpt.DataBind()
Else
Dim rpt As DataList
rpt = e.Item.FindControl("riplist")
rpt.EditItemIndex = -1

bindDatalist()
End If
viewstate("collapsed") = Not blnCollapsed

End Sub
----------
questa era un'altra sull'evento itemdatabound:
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim promoLabel As Label = CType(e.Item.FindControl("promoLabel"), Label)
Dim Promo As Integer = (CType(e.Item.DataItem,DataRowView)).Row.ItemArray(4).ToString())
If promo = 0 Then
promoLabel.Text = " "
Else
promoLabel.Text = "P"
End If
End If
----
nessun errore niente di niente non succede nulla non ariva nemmeno al breakpoint, come posso fare? per ottenere una cosa del genere
ciao grazie

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5