Hej, Det finns ett event som heter ItemDataBound. Tack för tipsen!Event i DataSet, oregelbunden postvisning från DataSet
Som ADO.NET newbie undrar jag hur man kan kontrollera postvisning i ett Dataset. I klassisk ASP kunde jag sätta en myCounter variabel som ökas med 1 för varje post som visas. Då kunde jag själv bestämma att vid vissa myCounter värden ska posten skrivas ut, tex vid 3,4 8, 9,10,17. Vid alla andra värden ska inget skrivas ut. Det går säkert att lösa med en fiffig SQL-sats, men det är inte det jag letar.
Det skulle gå att göra om varje ny DataSet post genererar ett event, men jag har inte hittat nåt sånt.
Ta koden här nere som exempel, hur skulle den modifieras enligt idén med en counter? Hoppas nån förstår vad jag är ute efter!!?? /xaphod
<code>
<%@ Page Language="VB" Debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load(o as object, e as eventargs)
dim strPath=server.MapPath("minDB.mdb")
dim oCOnn as new OleDbConnection("Provider=Microsoft.JET.OleDb.4.0; Data Source=" & strPath )
dim oCmd as new OleDbDataAdapter("select * from artiklar", oConn)
dim ds as new DataSet()
oCmd.Fill(ds,"artiklar")
myDataList.DataSource=ds.Tables("artiklar").DefaultView
myDataList.DataBind()
end sub
</script>
<html>
<body>
<form runat="server">
<asp:DataList id="myDataList" runat="server">
<itemTemplate>
<br />
<%# DataBinder.Eval(Container.DataItem, "Rubrik") %>
</itemTemplate>
</asp:DataList>
</form>
</body>
</html>
</code>Sv: Event i DataSet, oregelbunden postvisning från DataSet
Det triggar då hela raden i datagridden skapats och då kan du fånga upp den och i detta fall ta bort den.
Men det är inte så det är tänkt.
Ordet du ska lära dig heter Interface och då handlar det inte om grafiskt användarinterface utan det du väljer att visa upp av t ex den data som finns.
Tänk dig att den person som fixar datat åt dig från sin databas sitter i USA och att transporten går via web services.. det blir krångligt att fixa till en ny procedur bara för att just du i din implementation vill ha det på ett visst sätt.
Alltså är det upp till dig att fixa till datat så att det ser ut som DU vill ha det. Till din hjälp finns något som kallas dataviews och som är kraftfulla verktyg för att filtera data.
Mitt råd till dig är att besöka MSDN-online och söka på just detta och sen sätter du dig och läser.
I vilket fall som helst skulle jag i en quick and dirty-lösning göra som så att jag efter datahämtningen, skulle gå igenom den databärare som senare ska bindas till gridden. Kanske är det en datatable.
Jag skulle gå igenom tabellen rad för rad och ta bort de rader som jag inte vill visa. När du senare binder datat till gridden kommer ju de rader du inte vill visa att vara borttagna och sålunda kommer användaren heller inte att se dem.
ADO.NET ÄR en definitiv vidareutveckling av ADO, vilket gör att du verkligen borde ta och leta upp lite artiklar i ämnet och läsa igenom dem. Att sätta sig ner och försöka komma på hur det funkar genom att dra paralleller till ADO kommer kanske fungera enligt din mening men inte så som det är tänkt. Resultatet av det är flerfaldigt men det främsta är väl effektiviteten för dig själv när du kodar.Sv: Event i DataSet, oregelbunden postvisning från DataSet
Jag ska absolut studera ADO.NET mer. Man vill ju gärna komma igång med nåt och kör det ihop sig så försöker man ju med gamla beprövade lösningar, som då inte alltid är så bra, eller ens funkar ;-)
Tack /xaphod