questo è il codice che ho conservato. Naturalmente mi dirai che non funzionaOriginariamente inviato da valeria75
eggià vecchio quesito
ma come imposo lo stile SOLO della riga che ho creato/aggiunto
e dove lo imposto?
grazie![]()
![]()
![]()
codice:<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="prova_web_c_charp.WebForm2" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm2</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <LINK href="Styles.css" type="text/css" rel="stylesheet"> </HEAD> <body> <form id="Form1" method="post" runat="server"> <asp:DataGrid id="MyDataGrid" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" OnItemDataBound="MyDataGrid_ItemDataBound"> <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle> <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle> <HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle> <FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle> <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle> </asp:DataGrid> </form> </body> </HTML> -------------------------------------------------------------------------------------------- using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using lib = Libreria.ModuloWeb; namespace prova_web_c_charp { /// <summary> /// Descrizione di riepilogo per WebForm2. /// </summary> public class WebForm2 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid MyDataGrid; private void Page_Load(object sender, System.EventArgs e) { // Inserire qui il codice utente necessario per inizializzare la pagina. //datatable originario DataTable StartPlanning = lib.GetDataTable(StringaConnessione(), "SELECT TOP 100 * FROM CAMPI ORDER BY [ID]");//DsDati.Tables["Planning"]; // duplico il datatable per creare le intestazioni ogni X righe DataTable TmpPlanning = new DataTable(); //creo la riga con tante colonne di tipo stringa quante il dt originario for (int i = 0; i < StartPlanning.Columns.Count; i++) TmpPlanning.Columns.Add(StartPlanning.Columns[i].Caption, typeof(string)); int c = 0; //contatore righe stampate //scansione delle righe del dt origirario per riempire il clone foreach (DataRow r in StartPlanning.Rows) { c++; if(c > k) //se ho superato le righe prefissate { c = 0; //azzero contatore DataRow dr1 = TmpPlanning.NewRow(); //creo una nuova riga di intestazione for (int i = 0; i < TmpPlanning.Columns.Count; i++) dr1[i] = TmpPlanning.Columns[i].Caption; //aggiungo la riga appena creata TmpPlanning.Rows.Add(dr1); c++; //creo una nuova riga DataRow dr2 = TmpPlanning.NewRow(); //la riempio dei dati del dt originario, riga corrente for (int i = 0; i < TmpPlanning.Columns.Count; i++) if(i == 5) dr2[i] = string.Format("{0:d}", r[i]); else dr2[i] = r[i]; //aggiungo la riga appena creata TmpPlanning.Rows.Add(dr2); } else //sono tra una intestazione e l'altra: aggiungo una riga di dati copiandoli dalla riga corrente del dt originario { DataRow dr2 = TmpPlanning.NewRow(); for (int i = 0; i < TmpPlanning.Columns.Count; i++) if(i == 5) dr2[i] = string.Format("{0:d}", r[i]); else dr2[i] = r[i]; TmpPlanning.Rows.Add(dr2); } } //lego la griglia al dt clone creato MyDataGrid.DataSource = TmpPlanning.DefaultView; MyDataGrid.DataBind(); } const int k = 5; //righe visualizzate tra una intestazione e l'altra private int c = 0; protected void MyDataGrid_ItemDataBound(object Sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { c++; if(c > k) { c = 0; e.Item.Style.Add("background", "#009999"); e.Item.Style.Add("color", "#CCFF99"); } } } private string StringaConnessione() { return "Provider=Microsoft.Jet.OLEDB.4.0;Password='';User ID=Admin;Data Source=C:\\DATI\\test\\test.mdb;Mode=Share Deny None;Extended Properties='';Jet OLEDB:System database='';Jet OLEDB:Registry Path='';Jet OLEDB:Database Password='';Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password='';Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"; } #region Codice generato da Progettazione Web Form override protected void OnInit(EventArgs e) { // // CODEGEN: questa chiamata è richiesta da Progettazione Web Form ASP.NET. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Metodo necessario per il supporto della finestra di progettazione. Non modificare /// il contenuto del metodo con l'editor di codice. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }

Rispondi quotando