Correva il 29/12/2011 e rincorrendolo John scriveva:
zac
>
> Penso che opterò per il PHP e MySQL e farò una soluzione intranet !!!
Mille paroloni....php...python...mysql....
ma sotto sotto la tua assoluta solita incapacità...l'esempio che ti ho
postato fa parte dell'esempio che ti feci a suo tempo ed è
ASSOLUTAMENTE FUNZIONANTE!
...ci persi tempo a fartelo e pure a commentartelo....vedo che con te è
tutto tempo perso!!! Molto meglio andare al bar a bersi un caffè!
CMQ è passato Natale...spendo ancora del tempo per te nella speranza
che prima o poi in codesta zucca qualcosa entri oltre all'aria!
...e SOPRATUTTO per i newbie a cui DAVVERO INTERESSA....
Un esempio completo e funzionante:
il database è il classico northwind.mdb ...quello di access!
FW 4.0
FATEVI un nuovo progetto
Prendete una windows form....chiamatela JohnForm ...formattatela un po:
Aggiungete un combobox e chiamatelo cmbTabelle
Aggiungete un command button e chiamatelo Button1 e con testo "Recupera
dati"
Aggiungete una datagridview e chiamatela GrigliaDati io l'ho lasciata
tal quale l'ho solo allargata alla larghezza del form...non lho nemmeno
ancorata
Adesso il codice da copia-incollare
Imports System.Data.OleDb 'almeno ci attacchi quello che vuoi! Da
Access a Mysql a Excel
Imports System.Drawing 'per giocare con la datagridview!
Public Class JohnForm
'QUESTE VARIABILI LE VEDI IN TUTTA LA CLASSE
Private dataAdapter As OleDbDataAdapter 'per ORA NON HO istanziato
nulla....ho solo riservato una prenotazione del posto al compilatore
Private StringaConnessione As String =
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=""C:\lavorivbnet\database\Nwind.mdb"" "
Private Query As String = ""
Private Sub JohnForm_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'un po di config
'metto nel combobox il nome delle tabelle
With Me.cmbTabelle
.Items.Clear()
.Items.Add("Customers")
.Items.Add("Employees")
.Items.Add("Products")
.Items.Add("Shippers")
.Items.Add("Suppliers")
.Items.Add("QUESTANONESISTE")
End With
' La Datagridview
With GrigliaDati
.AutoGenerateColumns = True
.AllowUserToDeleteRows = True
.AllowUserToDeleteRows = True
.AllowUserToOrderColumns = True
.AllowUserToResizeColumns = True
'aggancio la griglia alla form per renderla allargabile
.Anchor = AnchorStyles.Left Or AnchorStyles.Right Or
AnchorStyles.Bottom
End With
Button1.Text = "Recupera dati"
End Sub
'UN BOTTONE PER SCATENARE TUTTO
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
'mi faccio la query
Query = "SELECT * FROM " + Me.cmbTabelle.SelectedItem.ToString
'ed ora?
'Ora devo avere un contenitore per parcheggiare i dati che
recupero dal database...una dataTable è perfetta!
Dim dt As New DataTable
Try
'aggancio il tutto
dataAdapter = New OleDb.OleDbDataAdapter(Query,
StringaConnessione)
'riempio la tabella
dataAdapter.Fill(dt)
'la mostro nella griglia
GrigliaDati.DataSource = dt
'format dati
formatGriglia(GrigliaDati)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub formatGriglia(nomegriglia As DataGridView)
With nomegriglia
.ColumnHeadersBorderStyle =
DataGridViewHeaderBorderStyle.Single
.ColumnHeadersDefaultCellStyle.Alignment =
DataGridViewContentAlignment.BottomCenter
.ColumnHeadersDefaultCellStyle.Font = New Font("Courier",
10, FontStyle.Bold, GraphicsUnit.Point)
.ColumnHeadersDefaultCellStyle.ForeColor =
Color.DarkTurquoise
.ColumnHeadersHeight = 70
.ColumnHeadersHeightSizeMode =
DataGridViewColumnHeadersHeightSizeMode.DisableResizing
For n As Integer = 0 To .Columns.Count - 1
'faccio questo perchè non so se ci sono colonne!
Select Case n
Case 0
'prima colonna
.Columns(0).DefaultCellStyle.ForeColor =
Color.WhiteSmoke
.Columns(0).DefaultCellStyle.Font = New
Font("Arial", 8, FontStyle.Regular, GraphicsUnit.Point)
.Columns(0).DefaultCellStyle.BackColor =
Color.DarkSlateBlue
.Columns(0).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleLeft
.Columns(0).Width = 120
.Columns(0).MinimumWidth = 90
Case 1
'seconda colonna
.Columns(1).DefaultCellStyle.ForeColor =
Color.DarkBlue
.Columns(1).DefaultCellStyle.Font = New
Font("Arial", 8, FontStyle.Regular, GraphicsUnit.Point)
.Columns(1).DefaultCellStyle.BackColor =
Color.YellowGreen
.Columns(1).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleRight
.Columns(1).Width = 220
.Columns(1).MinimumWidth = 100
Case Else
.Columns(n).DefaultCellStyle.Alignment =
DataGridViewContentAlignment.BottomLeft
End Select
Next
End With
End Sub
Private Sub GrigliaDati_CellFormatting(sender As Object, e As
System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles
GrigliaDati.CellFormatting
'tanto per far vedere che c'è anche altro
If (e.RowIndex Mod 2) = 0 Then
'riga pari
If e.ColumnIndex >= 2 Then
'dalla terza colonna se c'è
e.CellStyle.BackColor = Color.LightGray
End If
Else
'riga dispari
If e.ColumnIndex >= 2 Then
'dalla terza colonna se c'è
e.CellStyle.BackColor = Color.LightSeaGreen
End If
End If
End Sub
Private Sub GrigliaDati_CellPainting(sender As Object, e As
System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles
GrigliaDati.CellPainting
'giocando con la datagridview
'ho una icona nelle risorse
'la metto nella prima cella dell'header
If e.RowIndex = -1 And e.ColumnIndex = 1 Then
'sono nella prima cella dell'header
Dim img As Image = My.Resources.persona1.ToBitmap
e.Paint(e.CellBounds, DataGridViewPaintParts.All &
DataGridViewPaintParts.ContentForeground)
e.Graphics.DrawImage(img, New Point(e.CellBounds.X,
e.CellBounds.Y))
e.Handled = True
End If
End Sub
End Class
Cosa manca?
Andate nelel proprietà del progetto...c'è una linguetta ..."RISORSE"
in alto un combobox...scegliete "ICONE" ....accanto "Aggiungi risorsa"
click sulla freccia in giù.... scegliere "aggiungi file esistente"
trovate una icona nel vostro harddisk e caricatela nelle risorse...poi
per non far fallire il codice chiamatela: persona1
....tutto perfettibile....ma molto didattico!!!
Ovviamente per essere didattico...ci vuole un tutor...ed un allievo!
Se l'allievo si crede tutor...si va da poche parti!
...chi vuol capire....
Saluti !
p.s.
Il prossimo che dice che son buono solo a flammare e non a postare
soluzioni può automandarsi direttamente a fanculo da parte mia!
--
----- Italliaaaaa 3227! -----
Guerrieriii....giochiamo a fare la guerraaa!....
Guerrieriii....giochiamo a fare la guerraaa!....
Guerrieriii....giochiamo a fare la guerraaa!....
I guerrieri della notte (1987)