8 messaggi dal 31 marzo 2005
Ciao a tutti ho da poco tempo iniziato a programmare in ASP .Net e oltre ad i mille problemi riscontrati adesso non riesco a capire perchè non mi venga visualizzata sulla pagina una tabella HTML.
Ho creato una stupidissima classe che passandogli il numero di Righe ed il Numero di colonne dovrebbe creare a runtime (Page_Load) una tabella HTML.
Pongo qui di seguito il codice della classe e il codice scritto nelle'evento Page_Load

-----------------------------------------------------------
HTML.vb
-----------------------------------------------------------

Imports Site.HTML
Public Class HTML

Private TotRighe As Integer
Private TotColonne As Integer

Public Property Righe() As Integer
Get
Dim R As Integer
R = TotRighe
End Get
Set(ByVal Value As Integer)
TotRighe = Value
End Set
End Property

Public Property Colonne() As Integer
Get
Dim C As Integer
C = TotColonne
End Get
Set(ByVal Value As Integer)
TotColonne = Value
End Set
End Property

Public Sub Costruisci()
Dim Riga, NRighe, NColonne, j, i As Integer
Dim Tabella As New HtmlTable
Tabella.Border = 1
Tabella.BorderColor = 5
Riga = 0
NRighe = TotRighe
NColonne = TotColonne
For j = 1 To NRighe
Dim r As New HtmlTableRow
Riga = Riga + 1
For i = 1 To NColonne
Dim c As New HtmlTableCell
c.Controls.Add(New LiteralControl("Riga " & j & ", Cella " & i))
r.Cells.Add(c)
Next
Tabella.Rows.Add(r)
Tabella.Visible = True
Next
End Sub

End Class

-----------------------------------------------------------
Webform1.aspx.vb
-----------------------------------------------------------
Public Class WebForm1
Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub

'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
Dim h As New HTML

h.Righe = 10
h.Colonne = 15
h.Costruisci()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub Button1_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub
End Class

---------------------------------------------------------
HTML Webform1.aspx
---------------------------------------------------------

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="Site.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
</form>
</body>
</HTML>


Vi prego aiutatemi !!!!!

Gandalf

Perdona i tuoi nemici, ma non dimenticare mai i loro nomi.
non ho letto tutto il codice, prima ti faccio uan domanda :)

hai aggiunto la tabella creata alla collezione dei cotrolli che la classe Page? ( la tua WebForm1 ) espobne come propietà?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
8 messaggi dal 31 marzo 2005
CIAO MARCO TI RINGRAZIO PER AVERMI COMUNQUE RISPOSTO
POTRESTI SPIEGARTI MEGLIO COME HO DETTO SONO UN NOVIZIO E QUINDI POCO ESPERTO.

GRAZIE MILLE

Perdona i tuoi nemici, ma non dimenticare mai i loro nomi.
ciao GANDALF_03_75, dopo che ci siamo scambiati du chiacchere sul messanger ho capito il problema, adesso vado a pranzo poi ti posto un esempio

ciao marco :)

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
ecco un piccolo esempio di come creare una tabella e aggiungerla alla collezione dei controlli della classe page

Dim table1 As New HtmlTable
      Dim num1 As Integer
      For num1 = 0 To 4 - 1
            Dim row1 As New HtmlTableRow
            Dim num2 As Integer
            For num2 = 0 To 4 - 1
                  Dim cell1 As New HtmlTableCell
                  Dim objArray1 As Object() = New Object() { "riga ", num1, " cella ", num2 }
                  cell1.InnerHtml = String.Concat(objArray1)
                  row1.Cells.Add(cell1)
            Next num2
            table1.Rows.Add(row1)
      Next num1
      table1.Border = 2
      table1.BorderColor = "Red"
      <b>Me.Page.Controls.Add(table1)</b>


ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
8 messaggi dal 31 marzo 2005
TI RINGRAZIO.
VOLEVO DIRTI CHE HO PROVATO A COPIARE IL CODICE ALL'INTERNO DELLA CLASSE (PER LA COSTRUZIONE DELLA TABELLA) NEL CLICK DI UN COMMAND BUTTON ED IN TAL CASO LA TABELLA LA CREA.
RESTA IL FATTO PERO' CHE USANDO LA CLASSE LA TABELLA NON VIENE COSTRUITA.

GRAZIE GANDALF

Perdona i tuoi nemici, ma non dimenticare mai i loro nomi.
modifica il metodo costruisci perche restituisca un oggetto HtmTable

e poi aggiungilo alla cellezione controls della pagina

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
ecco un esempio della tua ipotetica classe
Public Class MiaTabellaDinamica
   Private _righe As Integer
   Private _colonne As Integer
   
   
   Public Sub New(righe As Integer, colonne As Integer)
      _righe = righe
      _colonne = colonne
   End Sub 'New
   
   
   Public Function DammiLaTabella() As HtmlTable
      Dim table As New HtmlTable()
      
      Dim i As Integer
      For i = 0 To _righe - 1
         Dim riga As New HtmlTableRow()
         Dim j As Integer
         For j = 0 To _colonne - 1
            Dim cella As New HtmlTableCell()
            cella.InnerHtml = "riga " + i + " cella " + j
            riga.Cells.Add(cella)
         Next j
         table.Rows.Add(riga)
      Next i 
      
      
      
      table.Border = 2
      table.BorderColor = "Red"
      Return table
   End Function 'DammiLaTabella
End Class 'MiaTabellaDinamica


poi nella pagina

 Me.Controls.Add(New MiaTabellaDinamica(4, 5).DammiLaTabella())


ciao marco.

p.s. ho usato pre velocità un traduttore da c# a vb se ci fosse qualche errore dimmelo

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.