Newsgroup: it.comp.lang.vo-clipper
Titolo: (OT) Browser con VULCAN

Cari Amici, scusatemi per questo messaggio OT ma so che da tempo diversi
di noi si stanno cimentando (con entusiasmo) con VULCAN il nuovo prodotto
grafx per applicazioni .NET.  Anche io sto iniziando a vedere come
funziona il tutto e vorrei chiedervi questo. 
L'applicazione qui di seguito si connette ad un DB di MySQL, apre una
tabella e fa vedre il suo contenuto in una finestra, sottoforma di Browser
(come si faceva in VO). Viene utilizzata una DataGridView dove ho definito
due colonne..."Cognome" e "Nome". Il mio problema � questo... Se guardate
nel metodo "ResumeLayout" apro la tabella "Anagrafica_allievi" con una
semplice select prendendo tutti i campi. Adesso vorrei che per� nella
datagridview mi fossero visualizzati solo i due campi che ho definito
nelle colonne (cognome e nome), invece mi fa vedere tutte le colonne della
tabella (oltre a quelle definite). come posso fare ?  
Grazie infinite e ...- di nuovo scusate !!!
Enio Donci
USING System.Windows.Forms
USING System.Drawing  
USING System
-----------------------------------------------------------
GLOBAL oSqlConn AS MySql.Data.MySqlClient.MySqlConnection  
-----------------------------------------------------------
[STAThreadAttribute];
FUNCTION Start( asCmdLine AS STRING[] ) AS INT
 
	LOCAL nExitCode AS INT
	LOCAL oForm AS MainWindow
 
	IF Connetti()
		Application.EnableVisualStyles()
		Application.DoEvents()
 
		oForm := MainWindow{}   
		oForm:Text := "Database = Accademia"
		Application.Run(oForm)
	ENDIF
 
RETURN nExitCode 
-------------------------------------------------------------
FUNCTION connetti() AS LOGIC
LOCAL myConnectionString AS STRING
myConnectionString := "Database=Accademia;Data Source=localhost;User
Id=utente;Password=ed230558;Port=3306;"+;
"ConvertZeroDatetime=TRUE"	       
		// mi sto connettendo a MySql //  
oSqlConn := MySql.Data.MySqlClient.MySqlConnection{myConnectionString}  
oSqlConn:Open()   
IF oSqlConn:State:ToString() = "Open" 
 RETURN TRUE
ENDIF	
 
RETURN FALSE
--------------------------------------------------------------
CLASS AnagWindow INHERIT System.Windows.Forms.Form
PROTECT oAnagBrowseWindow AS System.Windows.Forms.DataGridView
// User code starts here (DO NOT remove this line)  ##USER##
PROTECT oDataSet AS System.Data.DataSet  
PROTECT oBindingSource AS System.Windows.Forms.BindingSource     
PROTECT oMySqlDataAdapter AS MySQL.Data.MySqlClient.MySqlDataAdapter
-----------------------------------------------------------------
CONSTRUCTOR()
	SUPER()
	SELF:InitializeForm()
RETURN
-----------------------------------------------------------
METHOD InitializeForm() AS VOID
// IDE generated code (please DO NOT modify)
SELF:Name := "AnagWindow"
SELF:SuspendLayout()
SELF:Location := System.Drawing.Point{100,100}
SELF:ClientSize := System.Drawing.Size{642,266}
SELF:Text := "Form"
SELF:oAnagBrowseWindow := System.Windows.Forms.DataGridView{}
SELF:oAnagBrowseWindow:Name := "AnagBrowseWindow"
SELF:oAnagBrowseWindow:Location := System.Drawing.Point{ 32 , 16 }
SELF:oAnagBrowseWindow:Size := System.Drawing.Size{ 461 , 219 }
SELF:oAnagBrowseWindow:AutoGenerateColumns := TRUE
SELF:oAnagBrowseWindow:TabIndex := 0
SELF:Controls:Add(SELF:oAnagBrowseWindow)
SELF:oDataGridViewTextBoxColumn1 :=
System.Windows.Forms.DataGridViewTextBoxColumn{}
SELF:oDataGridViewTextBoxColumn1:DataPropertyName := "cognome"
SELF:oDataGridViewTextBoxColumn1:Name := "DataGridViewTextBoxColumn1"
SELF:oDataGridViewTextBoxColumn1:HeaderText := "Cognome :"
SELF:oAnagBrowseWindow:Columns:Add( SELF:oDataGridViewTextBoxColumn1)
SELF:oDataGridViewTextBoxColumn2 :=
System.Windows.Forms.DataGridViewTextBoxColumn{}
SELF:oDataGridViewTextBoxColumn2:DataPropertyName := "nome"
SELF:oDataGridViewTextBoxColumn2:Name := "DataGridViewTextBoxColumn2"
SELF:oDataGridViewTextBoxColumn2:HeaderText := "Nome :"
SELF:oAnagBrowseWindow:Columns:Add( SELF:oDataGridViewTextBoxColumn2)
SELF:ResumeLayout()
RETURN
------------------------------------------------------------------
VIRTUAL METHOD ResumeLayout() AS VOID 
LOCAL cQuery,cTableName AS STRING      
SELF:oAnagBrowseWindow:ReadOnly := TRUE
cQuery := "select * from anagrafica_allievi order by cognome"  
SELF:oMySqlDataAdapter := MySQL.Data.MySqlClient.MySqlDataAdapter{}      
SELF:oMySqlDataAdapter:SelectCommand :=
MySQL.Data.MySqlClient.MySqlCommand{cQuery, oSqlConn}
cTableName := "anagrafica_allievi"
SELF:oDataSet := System.Data.DataSet{cTableName}
SELF:oMySqlDataAdapter:Fill(SELF:oDataSet,cTableName)   
 
SELF:oAnagBrowseWindow:DataSource := SELF:oDataset:Tables[cTableName]   
 
END CLASS
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 semplice select prendendo tutti i campi. Adesso vorrei che però nella


Ciao Enio.
Io uso questo metodo:
Dopo aver riempito la datagridview,
lancio questo metodo dove definisco tutte le colonne che voglio vedere 
compresa la Row_Id che definisco Visible := false. Vedi se ti pu� essere 
utile.
L'alternativa � eseguire la select solo sui campi che vuoi visualizzare.
METHOD ConfiguraDataGridView() AS VOID CLASS Tabella_Analisi
LOCAL ColumnHeaderStyle AS DataGridViewCellStyle
LOCAL dgvCellStyle AS DataGridViewCellStyle
dgvCellStyle := DataGridViewCellStyle{}
dgvCellStyle:BackColor := System.Drawing.Color.FromArgb( 196,255,255 ) 
//.LightSteelBlue
SELF:oElenco:RowsDefaultCellStyle := dgvCellStyle
dgvCellStyle := DataGridViewCellStyle{}
dgvCellStyle:BackColor := System.Drawing.Color.FromArgb( 230,230,230 ) 
//.LightSteelBlue
SELF:oElenco:AlternatingRowsDefaultCellStyle := dgvCellStyle
 ColumnHeaderStyle := DataGridViewCellStyle{}
//  ColumnHeaderStyle:BackColor := System.Drawing.Color.FromArgb( 
192,200,255 ) //Color.Azure
  ColumnHeaderStyle:Alignment := DataGridViewContentAlignment.MiddleCenter
  ColumnHeaderStyle:WrapMode := DataGridViewTriState.TRUE
  SELF:oElenco:ColumnHeadersDefaultCellStyle := ColumnHeaderStyle
SELF:oElenco:RowTemplate:Height := 18
SELF:oElenco:RowTemplate:MinimumHeight := 10
SELF:oElenco:Columns[0]:Name := "Cod_Ana"
SELF:oElenco:Columns[0]:HeaderText := "Codice"+Chr(10)+"Analisi"
SELF:oElenco:Columns[0]:Width := 60
SELF:oElenco:Columns[0]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleRight
SELF:oElenco:Columns[1]:Name := "Codice"
SELF:oElenco:Columns[1]:HeaderText := "Codice"+Chr(10)+"Regionale"
SELF:oElenco:Columns[1]:Width := 80
SELF:oElenco:Columns[1]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleCenter
SELF:oElenco:Columns[2]:Name := "Nota"
SELF:oElenco:Columns[2]:HeaderText := "Nota"
SELF:oElenco:Columns[2]:Width := 45
SELF:oElenco:Columns[2]:SortMode := DataGridViewColumnSortMode.NotSortable
SELF:oElenco:Columns[2]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleCenter
SELF:oElenco:Columns[3]:Name := "Branca"
SELF:oElenco:Columns[3]:HeaderText := "Branca"
SELF:oElenco:Columns[3]:Width := 60
SELF:oElenco:Columns[3]:SortMode := DataGridViewColumnSortMode.NotSortable
SELF:oElenco:Columns[3]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleCenter
SELF:oElenco:Columns[4]:Name := "Des_Ana"
SELF:oElenco:Columns[4]:HeaderText := "Descrizione"
SELF:oElenco:Columns[4]:Width := 220
SELF:oElenco:Columns[4]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleLeft
SELF:oElenco:Columns[5]:Name := "Ormone"
SELF:oElenco:Columns[5]:HeaderText := "Ormone"+CRLF+"S/N"
SELF:oElenco:Columns[5]:Width := 60
SELF:oElenco:Columns[5]:SortMode := DataGridViewColumnSortMode.NotSortable
SELF:oElenco:Columns[5]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleCenter
SELF:oElenco:Columns[6]:Name := "Cos_Usl"
SELF:oElenco:Columns[6]:HeaderText := "Costo"+Chr(10)+"A.USL"
SELF:oElenco:Columns[6]:Width := 60
SELF:oElenco:Columns[6]:DefaultCellStyle:Format := "n"
SELF:oElenco:Columns[6]:SortMode := DataGridViewColumnSortMode.NotSortable
SELF:oElenco:Columns[6]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleRight
SELF:oElenco:Columns[7]:Name := "Cos_Pri"
SELF:oElenco:Columns[7]:HeaderText := "Costo"+Chr(10)+"Privato"
SELF:oElenco:Columns[7]:Width := 60
SELF:oElenco:Columns[7]:DefaultCellStyle:Format := "n"
SELF:oElenco:Columns[7]:SortMode := DataGridViewColumnSortMode.NotSortable
SELF:oElenco:Columns[7]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleRight
SELF:oElenco:Columns[8]:Name := "Cos_NTN"
SELF:oElenco:Columns[8]:HeaderText := "Tariffario"+CRLF+"Nazionale"
SELF:oElenco:Columns[8]:Width := 70
SELF:oElenco:Columns[8]:DefaultCellStyle:Format := "n"
SELF:oElenco:Columns[8]:SortMode := DataGridViewColumnSortMode.NotSortable
SELF:oElenco:Columns[8]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleRight
SELF:oElenco:Columns[9]:Name := "N_Pre"
SELF:oElenco:Columns[9]:HeaderText := "Numero"+Chr(10)+"Prelievi"
SELF:oElenco:Columns[9]:Width := 60
SELF:oElenco:Columns[9]:SortMode := DataGridViewColumnSortMode.NotSortable
SELF:oElenco:Columns[9]:DefaultCellStyle:Alignment := 
DataGridViewContentAlignment.MiddleRight
SELF:oElenco:Columns[10]:Name := "Row_Id"
SELF:oElenco:Columns[10]:HeaderText := ""
SELF:oElenco:Columns[10]:Width := 12
SELF:oElenco:Columns[10]:Visible := FALSE
SELF:oElenco:Columns[10]:SortMode := DataGridViewColumnSortMode.NotSortable
RETURN
Enzo.

 semplice select prendendo tutti i campi. Adesso vorrei che però nella


SI !!!   con la propriet� che ha detto Danilo � tutto ok
Grazie a tutti, noto con piacere che la solita disponibilit� sul NG 
� sempre ben viva !!! 
Scusatemi se negli ultimi tempi non mi sono pi� fatto sentire ma il lavoro
mi impegna moltissimo ( alla barba di chi dice che gli statali sono
fannulloni). Comunque tra non molto torner� in "pista" anche qui.
Nel frattempo cerco, nei ritagli di tempo (sul treno o a casa nelle ore
libere) di continuare "la esplorazione" di VULCAN. Devo dire che la cosa
mi entusiasma sempre pi�... quindi cari amici Vi romper� ancora 
ciao a tutti e grazie di nuovo
Enio Donci
PS  Sto pensando seriamente di organizzare il meeting per il prossimo anno
 
    qui in Accademia... vedremo !!! 


SI !!!   con la propriet� che ha detto Danilo � tutto ok
Grazie a tutti, noto con piacere che la solita disponibilit� sul NG 
� sempre ben viva !!! 
Scusatemi se negli ultimi tempi non mi sono pi� fatto sentire ma il lavoro
mi impegna moltissimo ( alla barba di chi dice che gli statali sono
fannulloni). Comunque tra non molto torner� in "pista" anche qui.
Nel frattempo cerco, nei ritagli di tempo (sul treno o a casa nelle ore
libere) di continuare "la esplorazione" di VULCAN. Devo dire che la cosa
mi entusiasma sempre pi�... quindi cari amici Vi romper� ancora 
ciao a tutti e grazie di nuovo
Enio Donci
PS  Sto pensando seriamente di organizzare il meeting per il prossimo anno
 
    qui in Accademia... vedremo !!! 
-- 
