Springen naar inhoud


- - - - -

soort van image in datagridview


  • Log in a.u.b. om te beantwoorden
Er zijn 3 reacties in dit onderwerp

#1 Jumper

Jumper

    Starting Developer

  • Leden
  • 15 berichten
    Laatst bezocht 25 mrt 2014 00:37

Geplaatst op 22 mei 2011 - 19:29

Hoi allemaal,
Ik zoek me rot naar de oplossing.

Hierbij is mijn code (dat werkt tot nu toe)

Maar ik vroeg me af hoe ik de vierde column (picUrl) een icon (image) als gif kan in tonen via sub prentlink

En als tweede vraag, hoe kan ik het gemakkelijkst de page refreshen zonder hinder ...

Alvast bedankt ...

Code:
<%@ Import Namespace="System.Data" %>

<%@ Page Language="VB" %> 
<script runat="server" id="txtr"> 
	Dim teller As Integer
	Dim code(20) As String
	Dim dummy As String
	Dim hs As Object
	Dim prentlink As String
	Dim kort As String
	
	
	   
	
	Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
		hs = Context.Items("Content")
		Dim table1 As New DataTable("Homeseer")
		table1.Columns.Add("symbol", Type.GetType("System.Int16"))
		table1.Columns.Add("Value", Type.GetType("System.String"))
		table1.Columns.Add("Tijd", Type.GetType("System.String"))
		table1.Columns.Add("PicUrl", Type.GetType("System.String"))
		
		

		Dim dr As DataRow = table1.NewRow
		For teller = 0 To 16
			code(teller) = "[" & CStr(teller)
		Next
		
	   
	   
		
		For teller = 1 To 3
			kort = code(teller)
			dr = table1.NewRow
			dr("Symbol") = teller
			dummy = hs.devicestatus(code(teller))
			prent()
			dr("Value") = dummy
			dummy = hs.devicelastchange(code(teller))
			dr("Tijd") = dummy
			Label1.Text = prentlink
			dr("picurl") = "prentlink"
			
			
			table1.Rows.Add(dr)
		Next
		
	   
		DataGrid1.DataSource = table1
		
		
		DataBind()
		
		
	End Sub
	Private Sub prent()
		Select Case CStr(hs.devicestatus(kort))
			Case 2
				dummy = "2"
				prentlink = ResolveUrl("~/Images/HomeSeer/" & "on" & ".gif")
				
				
				Return
			Case 3
				dummy = "3"
				prentlink = ResolveUrl("~/Images/HomeSeer/" & "off" & ".gif")
				Return
				
			Case 4
				dummy = "4"
				prentlink = ResolveUrl("~/Images/HomeSeer/" & "dim" & ".gif")
			Case Else
				prentlink = ResolveUrl("~/Images/HomeSeer/" & "Thermometer" & ".gif")
				Return
		End Select
	   
	End Sub
	
</script> 
<html> 
<head> 
	
</head> 
<body> 
	<form id="Form1" runat="server">
	 
		<p> 
			&nbsp;</p> 
		<p> 
			<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
		</p> 
		
		<asp:GridView ID="DataGrid1" runat="server" cellpadding="2"
cellspacing="2"
borderstyle="inset"
backcolor="#e8e8e8"
width="50%"
headerstyle-font-size="12pt"
headerstyle-horizontalalign="center"
headerstyle-font-bold="True"
footerstyle-font-size="9pt"
footerstyle-font-italic="True">
		
		</asp:GridView>
		
	</form> 
</body>
</html>


#2 SilentBob

SilentBob

    Professional Developer

  • Leden
  • PipPipPipPip
  • 360 berichten
    Laatst bezocht
  • LocatieHome

Geplaatst op 22 mei 2011 - 21:45

't Is al een tijdje geleden dat 'k nog eens asp.net geprogrammeerd heb.
Ik zie in je voorbeeld hierboven volgende lijn
Code:
dr("picurl") = "prentlink" 
Volgens mij moet dr("picurl") een url als string krijgen (volgens dit voorbeeld toch).
Het soort afbeelding speelt geen rol denk ik, zolang je in je DataGridView een ImageField gebruikt (zoals in de link).
Ik zou een Function gebruiken die een String teruggeeft i.p.v. een Sub.

Voor de refresh heb 'k 2 voorbeelden gevonden, geen idee of er ook maar 1 werkt  :oops:
Visual Basic Code:
'Dit lijkt logisch. Redirect naar zichzelf.
Response.Redirect(Request.Url.ToString())

'Of via javascript (hier achter een knop)
Button1.Attributes.Add("onclick", "<script language=javascript1.2>window.location.reload(true);</script>")



#3 Jumper

Jumper

    Starting Developer

  • Leden
  • 15 berichten
    Laatst bezocht 25 mrt 2014 00:37

Geplaatst op 23 mei 2011 - 09:43

de imagefield deed inderdaad de truck

refresh nog niet, maar wacht ik wel even mee.
Nu heb ik een probleem met me knoppen die gemaakt worden in een 'for lus'. Hoe kan ik via een lus weer zien welke knop er gedrukt wordt.
Ik zag wel dat elke knop een nr krijgt. Niet om elke knop appart te schrijven, als er te veel knoppen komen is dat vervelende :oops:

Ik bedoel zoiets als als knop 1 gedrukt is, dan commando 1 sturen
en 1 is beschreven als een integer.

Bedankt




Code:
<%@ Import Namespace="System.Data" %>

<%@ Page Language="VB" %> 
<script runat="server" id="txtr"> 
	Dim teller As Integer
	Dim code(20) As String
	Dim dummy As String
	Dim hs As Object
	Dim prentlink As String
	Dim kort As String
	
	
	   
	
	Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
		
		hs = Context.Items("Content")
		Dim table1 As New DataTable("Homeseer")
		table1.Columns.Add("symbol", Type.GetType("System.Int16"))
		table1.Columns.Add("Value", Type.GetType("System.String"))
		table1.Columns.Add("Tijd", Type.GetType("System.String"))
		table1.Columns.Add("PicUrl", Type.GetType("System.String"))
		table1.Columns.Add("knop", Type.GetType("System.String"))
		

		Dim dr As DataRow = table1.NewRow
		For teller = 0 To 16
			code(teller) = "[" & CStr(teller)
		Next
		
	   
	   
		
		For teller = 1 To 3
			kort = code(teller)
			dr = table1.NewRow
			dr("Symbol") = teller
			dummy = hs.devicestatus(code(teller))
			prent()
			dr("Value") = dummy
			dummy = hs.devicelastchange(code(teller))
			dr("Tijd") = dummy
			Label1.Text = prentlink
			dr("picurl") = prentlink
			dr("knop") = "knoop" & teller
			
			
			table1.Rows.Add(dr)
		Next
		
	   
		DataGrid1.DataSource = table1
		
		
		DataBind()
		
		
		
	
		
	End Sub
	Private Sub prent()
		Select Case CStr(hs.devicestatus(kort))
			Case 2
				dummy = "2"
				prentlink = "~/Images/HomeSeer/" & "on" & ".gif"
				
				
				Return
			Case 3
				dummy = "3"
				prentlink = "~/Images/HomeSeer/" & "off" & ".gif"
				Return
				
			Case 4
				dummy = "4"
				prentlink = "~/Images/HomeSeer/" & "dim" & ".gif"
			Case Else
				prentlink = "~/Images/HomeSeer/" & "Thermometer" & ".gif"
				Return
		End Select
	   
	End Sub
 
	
	


	Protected Sub DataGrid1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
		Label1.Text = "aan"
	End Sub
</script> 
<html> 
<head> 
	
</head> 
<body> 
	<form id="Form1" runat="server">
	 
		<p> 
			&nbsp;</p> 
		<p> 
			<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
		</p> 
		
	   <asp:GridView ID="DataGrid1" runat="server" AutoGenerateColumns="False">
			<Columns>
				<asp:BoundField DataField="symbol" HeaderText="symbol" 
					   ReadOnly="True" SortExpression="symbol" />
				<asp:BoundField DataField="Value" HeaderText="Value" 
					   SortExpression="Value" />
				<asp:BoundField DataField="Tijd" HeaderText="tijd" 
					   SortExpression="tijd" />
				<asp:ImageField DataImageUrlField="PicUrl" HeaderText="PicUrl" 
					   SortExpression="PirUrl" />
				<asp:ButtonField ButtonType="button" CommandName="knop" 
		 HeaderText="ponk" Text="knoop" />
			   
			</Columns>
		</asp:GridView>

		
	</form> 
</body>
</html>
[/vb]

#4 SilentBob

SilentBob

    Professional Developer

  • Leden
  • PipPipPipPip
  • 360 berichten
    Laatst bezocht
  • LocatieHome

Geplaatst op 23 mei 2011 - 10:02

'k Weet niet meer of dit kan in asp.net, maar 't valt te proberen :oops:
Alle knoppen naar hetzelfde click event laten verwijzen en dan via het Sender object zien welke knop geklikt heeft.
Visual Basic Code:
Button_Click(ByVal Sender As Object, ByVal E As EventArgs)
  Dim knop As Button = CType(Sender, Button)
  Select Case knop.Name
...






0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)