Desidero ringraziare di cuore un membro del forum, per la sua pazienza nel seguirmi in alcune problematiche accennate nell'oggetto della presente. Il suo nick è TACCIO (Alessandro). Mi ha fornito un aiuto notevole su un'applicazione importante, ha tradotto BEN 2 VOLTE alcuni codici di ADO in linguaggi diversi solo x me e ... si sarà esaurito un tantino con tutti quegli errori di debug
..QUINDI.... GRAZIE, GRAZIE DI CUORE A LUI E ALLO STAFF DEL FORUM CHE AVETE PERMESSO TUTTO CIO.
VORREI POSTARE IL CODICE CORRETTO PER LE PROBLEMATICHE INIZIATE DA ME QUALCHE GIORNO FA.
ALLORA...
per ridimensionare a RUNTIME alcune colonne del gridview basta fare questo:
1) Impostare nella testata del gridview (nell'origine, ovvero nel codice html) il parametro AutoGenerateColumns="TRUE"
Cmq l'intera testata io la ho cosi:
<asp:GridView ID="gw1" runat="server" OnSelectedIndexChanging="gw1_SelectedIndexChanging" DataKeyNames="id,nome" AllowPaging="True"
OnPageIndexChanging="gw1_PageIndexChanging" EnableViewState="False" CellPadding="3" BackColor="#DEBA84" BorderColor="#DEBA84"
BorderStyle="None" BorderWidth="1px" CellSpacing="2" AutoGenerateColumns="True">
<Columns>
<asp:CommandField HeaderText="Clicca sul link per il Download" ShowHeader="True" ShowSelectButton="True" SelectText="Download" />
</Columns>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
</asp:GridView>
2) Caricare una tabella da associare al GW in questo modo:
Dim ds As New DataSet
Dim DataTabl As New DataTable("tb1")
Dim DataCol As New DataColumn
Dim rigas As DataRow
Dim I As Integer
Dim path As String = HostingEnvironment.ApplicationPhysicalPath() & "\mdb-database\"
My.Response.Expires = 0
' crea connessione
Dim cn As OleDbConnection
Dim ConnectionString As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & path & "\DatabaseQualsiasi.mdb;" & _
"User ID=Admin;" & _
"Password="
cn = New Data.OleDb.OleDbConnection(ConnectionString)
cn.Open()
Dim SQL As String
' recupero numero accessi attuale
SQL = "SELECT * FROM Anagrafica where anagrafica.ciao='" & _
HttpContext.Current.Session.Item("ciao") & "';"
Dim Selezione As New OleDbCommand(SQL, cn)
Dim RD As OleDbDataReader = Selezione.ExecuteReader()
DataCol.ColumnName = "ID"
DataCol.DataType = System.Type.GetType("System.Int32")
DataCol.AutoIncrement = True
DataTabl.Columns.Add(DataCol)
DataCol = New DataColumn
DataCol.DataType = System.Type.GetType("System.String")
DataCol.ColumnName = "Nome"
DataCol.Caption = "Nome Colonna "
DataTabl.Columns.Add(DataCol)
DataCol = New DataColumn
DataCol.DataType = System.Type.GetType("System.String")
DataCol.ColumnName = "Descrizione "
DataTabl.Columns.Add(DataCol)
While RD.Read
rigas = DataTabl.NewRow
rigas.Item(0) = RD.Item("anagrafica.ID")
rigas.Item(1) = RD.Item(5).ToString
rigas.Item(2) = RD.Item(6).ToString
'ecc ecc
DataTabl.Rows.Add(rigas)
End While
' chiusura connessione
cn.Close()
ds.Tables.Add(DataTabl)
gw1.DataSource = ds
gw1.Columns(0).ItemStyle.Width = 200
gw1.DataBind()
3) Passo piu importante:
e qui dovrete inserire le vostre misure...
Protected Sub gw1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gw1.RowCreated
If e.Row.RowType = DataControlRowType.DataRow Then
Try
e.Row.Cells(1).Visible = False
e.Row.Cells(2).Width = 900
Catch ex As Exception
'MsgBox(e.Row.Cells.Count)
End Try
Else
Try
e.Row.Cells(1).Visible = False
Catch EX As Exception
End Try
End If
End Sub
OK... tutto fatto! Grazie ancora.