Originariamente inviato da valeria75
eggià vecchio quesito
ma come imposo lo stile SOLO della riga che ho creato/aggiunto
e dove lo imposto?
grazie
questo è il codice che ho conservato. Naturalmente mi dirai che non funziona
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
}
}