Accueil > > > UTILISATION DES DATATABLES ET L'AFFICHAGE DU CONTENU DANS UNE PAGE ASPX
UTILISATION DES DATATABLES ET L'AFFICHAGE DU CONTENU DANS UNE PAGE ASPX
Information sur la source
Description
Le code source charge une DataTabe depuis une DataSet puis j'affiche le contenue dans une page web sous forme de bande qui décris une durée en terme de temps.
Source
- using System;
- using System.Data;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using EMIRapportDataSetTableAdapters;
-
- /// <summary>
- /// ClassName:MarketingClass
- /// Release Date:21/12/2007
- /// Description:Classe pour le traittement de la partie Marketing
- /// </summary>
- public class MarketingClass
- {
- private string DetailsTypeCode; //Code de l'entity Details;
- private string MarketingTypeCode; //Code de l'entity marketing dans le CRM
- private Int32 NbRows; //Nombre de Ligne dans le DataTabe des Marketing
- private DateTime DateDeb; //Date début d'un enregistrement Marketing
- private DateTime DateFin; //Date fin d'un enregistrement Marketing
- private string StringDateDeb;
- private string StringDateFin;
- private Int32 Nbs = 0; //Nombre de semaine Totale entre DateDeb et DateFin
- private Int32 DebMois; //Le numero de Mois de la date de début
- private Int32 FinMois; //Le numero de Mois de a date de fin
- private Int32 DebSemaine; //Numero de la semaine de la date de début (Premiere semaine a partir de la quel on débute le déssin exemple:S1 de Mars)
- private Int32 FinSemaine; //Numero de la semaine de la Date de fin (Derniere semaine exemple S3 de Juin)
- private Guid Artist_Id; //Guid de l'artiste
- private Guid Project_Id; //Guid de l'album
- private Guid MarketingGuid; //CodeType de l'entity Marketing
- private string MarketingTitle; //Titre d'un enregistrement Marketing
- private string budget;
- // private string Album;
- int NumSDeb_Ann; //Numero de la semaine de début dans l'année
- int NumSFin_Ann; //Numero de la semaine de fin dans l'année
- int NumS1er_J_Deb_Ann; //numero de la semaine dans l'année de la premiere semaine dans un moi donnée(Pour la date de début)
- int NumS1er_J_Fin_Ann; //numero de la semaine dans l'année de la premiere semaine dans un moi donnée(Pour la date de fin)
- private DateClass DateC; //Attribut de la class Date pour les opération spécial de calcule des semaines...
- // private HtmlTable[] TableOfWeek; //Tableau qui contient les ID des Tabeaux de semaine dans la page Aspx pour la partie Marketing
- private ArtistClass ArtistC; //Attribut de type Artiste
- private int TodayMonth; //Mois du jour courant
- private int TodayWeek; //Lasemaine courante
- private int TodayFirstWeek; //la semaine du 1er jour dans le mois courant
- private int TodayNumWeek; //la semaine du jour en cours(de 1 à 4)
- private DateTime Today; //la date d'aujoudhui
-
- private MarketingTableAdapter MarketingTableAdapter; //Table Adapter qui contient les informations des enregistrements de Marketing
- private EMIRapportDataSet.MarketingDataTable MarketingData;
-
- #region Constructeur
- /// <summary>
- /// Constructeur
- /// <returns>
- /// None
- /// </returns>
- /// <param name="ArtistId">
- /// Le Guid de L'artiste
- /// </param>
- /// <param name="ProjectId">
- /// Le Guid de l'album
- /// </param>
- /// <param name="TypeIdMarketing">
- /// le type code de l'entity Marketing
- /// </param>
- /// </summary>
- public MarketingClass(string ArtistId, string ProjectId, string TypeIdMarketing, string DetailsTypeCode)
- {
- this.DetailsTypeCode = DetailsTypeCode;
- this.MarketingTypeCode = TypeIdMarketing;
- this.Artist_Id = new Guid(ArtistId);
- this.Project_Id = new Guid(ProjectId);
- this.ArtistC = new ArtistClass(ArtistId, ProjectId);
- this.MarketingTableAdapter = new MarketingTableAdapter();
- this.MarketingData = new EMIRapportDataSet.MarketingDataTable();
-
- #region Création de la date d'aujourd'hui
- this.DateC = new DateClass();
- this.Today = DateTime.Today;
- this.TodayMonth = Today.Month;
- this.TodayWeek = DateC.NumeroSemaine(Today);
- this.TodayFirstWeek=DateC.NumeroSemaine(Convert.ToDateTime("01" + Today.ToString().Remove(0, 2)));
- this.TodayNumWeek = DateC.localiserSemaine(TodayFirstWeek, TodayWeek);
- #endregion
-
- try
- {
- MarketingTableAdapter.FillMarketingByArtistId_ProjectId(MarketingData, Project_Id, Artist_Id);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message.ToString());
- }
- }
- #endregion
-
- #region Méthode pour la construction de la liste des Marketings
- /// <summary>
- /// Méthode pour la construction de la liste des Marketings
- /// <returns>
- /// Void
- /// </returns>
- /// <param name="T">
- /// L'ID du Tableau Marketing Dans la page Aspx
- /// </param>
- /// <param name="TofWeek">
- /// L'ID du Tableau des Weekend
- /// </param>
- /// </summary>
- public void DisplayMarketingTable(HtmlTable T,HtmlTable[] TofWeek)
- {
-
- Int32 StarRow = 0; //Compteur qui parcoure le DataTable des Marketing
-
- NbRows = MarketingData.Rows.Count; //Nombre de ligne dans la DataTable de MARKETING
-
- #region Boucle qui parcoure le DataTable des Marketing et Lance l'affichage dans la page Aspx
- for (StarRow = 0; StarRow < NbRows; StarRow++)
- {
- HtmlTableRow Maligne = new HtmlTableRow(); //Nouvelle ligne
- HtmlTableCell MaCase = new HtmlTableCell(); //Nouvelle case
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#3f4b68");
- // MaCase.InnerText = MarketingData.Rows[StarRow].ItemArray[1].ToString(); //Affectation du texte d'un enregistrement Marketing dans la case
-
- MaCase.InnerHtml = " <img src=\"ico_Arrow_R.gif\"/>"+" " + MarketingData.Rows[StarRow].ItemArray[1].ToString();
- Maligne.Attributes.Add("id", string.Concat("Marke", StarRow));
-
- Maligne.Cells.Add(MaCase);
- Maligne.Style.Add(HtmlTextWriterStyle.FontStyle, "Tahoma, 10");
- T.Rows.Add(Maligne);
- MarketingGuid = new Guid(MarketingData.Rows[StarRow].ItemArray[0].ToString());
- MarketingTitle = MarketingData.Rows[StarRow].ItemArray[1].ToString();
- budget = MarketingData.Rows[StarRow].ItemArray[4].ToString();
-
- //Date debut d'une Marketing
- StringDateDeb = MarketingData.Rows[StarRow].ItemArray[3].ToString();
-
- DateDeb = Convert.ToDateTime(MarketingData.Rows[StarRow].ItemArray[3].ToString());
-
- //Date de Fin d'une Marketing
- StringDateFin = MarketingData.Rows[StarRow].ItemArray[2].ToString();
- DateFin = Convert.ToDateTime(MarketingData.Rows[StarRow].ItemArray[2].ToString());
-
- //Mois de début
- DebMois = DateDeb.Month;
- //Mois de fin
- FinMois = DateFin.Month;
-
- #region Traittement de calcule de Nombre de semaine totale pour l'enregistrement en cours
- NumSDeb_Ann = DateC.NumeroSemaine(DateDeb);
- // MessageBox.Show("NumSDeb_Ann " + NumSDeb_Ann.ToString());
- NumS1er_J_Deb_Ann = DateC.NumeroSemaine(Convert.ToDateTime("01" + DateDeb.ToString().Remove(0, 2)));
- // MessageBox.Show("NumS1er_J_Deb_Ann " + NumS1er_J_Deb_Ann.ToString());
- NumS1er_J_Fin_Ann = DateC.NumeroSemaine(Convert.ToDateTime("01" + DateFin.ToString().Remove(0, 2)));
-
- NumSFin_Ann = DateC.NumeroSemaine(DateFin);
- // MessageBox.Show("NumS1er_J_Fin_Ann " + NumS1er_J_Fin_Ann.ToString());
- // MessageBox.Show("NumSFin_Ann " + NumSFin_Ann.ToString());
-
-
- if (NumSFin_Ann < NumS1er_J_Fin_Ann)
- {
- NumSFin_Ann = NumS1er_J_Fin_Ann + 4;
- }
- Nbs = NumSFin_Ann - NumSDeb_Ann;
- DebSemaine = DateC.localiserSemaine(NumS1er_J_Deb_Ann, NumSDeb_Ann);
- //MessageBox.Show("DebSemaine " + DebSemaine.ToString());
-
- FinSemaine = DateC.localiserSemaine(NumS1er_J_Fin_Ann, NumSFin_Ann);
- // MessageBox.Show("FinSemaine " + FinSemaine.ToString());
-
- #endregion
-
- //Nbs = Nbs + 1;
- // MessageBox.Show(Nbs.ToString());
- //Appel a la fonction qui affiche une ligne de marketing
- DisplayMarketingLigne(DebSemaine, FinSemaine, Nbs, DebMois-1 , FinMois-1 , MarketingGuid, TofWeek, StarRow,string.Concat("Marke",StarRow.ToString()));
- }
- #endregion
- // Marketing
- }
- #endregion
-
- #region Méthode pour la construction d'une ligne de Marketing
- /// <summary>
- /// Méthode pour la construction d'une ligne de Marketing
- /// <returns>
- /// Void
- /// </returns>
- /// <param name="SdebT">
- /// Le numéro de la semaine de début de la ligne (de 1 à 4)
- /// </param>
- /// <param name="SfinT">
- /// Le numéro de la semaine de Fin de la ligne (de 1 à 4)
- /// </param>
- /// <param name="NombreSemaine">
- /// Nombre de semaine Totale entre SdebT et SfinT de la ligne
- /// </param>
- /// <param name="Moisdeb">
- /// Mois de début de la ligne (de 1 à 12)
- /// </param>
- /// <param name="Moisfin">
- /// Mois de début de la ligne (de 1 à 12)
- /// </param>
- /// <param name="IndexGuid">
- /// Guid du Marketing en cours (Utilisée pour l'ouverture du formulaire CRM)
- /// </param>
- /// <param name="NumLigneCourante">
- /// Numéro de ligne courante (Utilisée pour savoir la couleur choisie de ligne:Bleu ou bleu claire)
- /// </param>
- /// </summary>
- private void DisplayMarketingLigne(Int32 SdebT, Int32 SfinT, Int32 NombreSemaine, Int32 Moisdeb, Int32 Moisfin, Guid IndexGuid,HtmlTable[] TofWeek,int NumLigneCourante,string Prefix)
- {
- Int32 IndexMois = 0;
- Int32 K;
- //MessageBox.Show(Moisdeb.ToString());
- #region Parcourir les Mois avant le Mois de début
- for (K = 0; K < Moisdeb; K++)
- {
- //MessageBox.Show("Avant");
- if (K == (TodayMonth - 1))
- {
- PutCellsIntoTableEmpty(TofWeek[K], true,K,Prefix);
- }
- else
- {
- PutCellsIntoTableEmpty(TofWeek[K], false, K, Prefix);
- }
- }
- #endregion
-
- #region Parcourir les mois concerner(les mois coloré)
- for (IndexMois = Moisdeb; IndexMois <= Moisfin; IndexMois++)
- {
- // MessageBox.Show(IndexMois.ToString());
- if (IndexMois == Moisdeb && NombreSemaine >= 4)
- {
- //MessageBox.Show("H1");
- if (IndexMois == (TodayMonth - 1))
- {
- PutCellsIntoTable(TofWeek[IndexMois], SdebT, 4, IndexGuid, NumLigneCourante, true,IndexMois, Prefix);
- }
- else
- {
- PutCellsIntoTable(TofWeek[IndexMois], SdebT, 4, IndexGuid, NumLigneCourante, false, IndexMois, Prefix);
- }
-
- }
- else if (IndexMois == Moisdeb && NombreSemaine < 4)
- {
- // MessageBox.Show("H1");
- if (IndexMois == (TodayMonth - 1))
- {
- PutCellsIntoTable(TofWeek[IndexMois], SdebT, SfinT, IndexGuid, NumLigneCourante, true, IndexMois, Prefix);
- }
- else
- {
- PutCellsIntoTable(TofWeek[IndexMois], SdebT, SfinT, IndexGuid, NumLigneCourante, false, IndexMois, Prefix);
- }
-
- }
-
- if (IndexMois > Moisdeb && IndexMois < Moisfin)
- {
- if (IndexMois == TodayMonth - 1)
- {
- PutCellsIntoTable(TofWeek[IndexMois], 1, 4, IndexGuid, NumLigneCourante, true, IndexMois, Prefix);
-
- }
- else
- {
- PutCellsIntoTable(TofWeek[IndexMois], 1, 4, IndexGuid, NumLigneCourante, false, IndexMois, Prefix);
-
- }
- }
- if (IndexMois == Moisfin && Moisdeb!=Moisfin)
- {
- if (IndexMois == TodayMonth - 1)
- {
- PutCellsIntoTable(TofWeek[IndexMois], 1, SfinT, IndexGuid, NumLigneCourante, true, IndexMois, Prefix);
-
- }
- else
- {
- PutCellsIntoTable(TofWeek[IndexMois], 1, SfinT, IndexGuid, NumLigneCourante, false, IndexMois, Prefix);
-
- }
-
- }
- }
- #endregion
-
- #region Parcourir les mois aprés le mois de fin
- for (K = Moisfin + 1; K <= 11; K++)
- {
- if (K == (TodayMonth - 1))
- {
- PutCellsIntoTableEmpty(TofWeek[K], true, K, Prefix);
- }
- else
- {
- PutCellsIntoTableEmpty(TofWeek[K], false, K, Prefix);
- }
- }
- #endregion
- }
- #endregion
-
- #region Méthode qui remplie les cellules des mois vide
- /// <summary>
- /// Méthode qui remplie les cellules des mois vide
- /// <returns>
- /// Void
- /// </returns>
- /// <param name="T">
- /// L'ID du Tableau de semaine dans la page Aspx
- /// </param>
- /// <param name="ToDayM">
- /// True si le Tableau de semaine (T) appartient au mois de la date d'aujourd'hui si non false
- /// </param>
- /// </summary>
- protected void PutCellsIntoTableEmpty(HtmlTable T,bool ToDayM,int NumDetailMois,string Prefix)
- {
- HtmlTableRow Maligne = new HtmlTableRow();
- for (Int32 i = 0; i < 4; i++)
- {
- #region Création d'une cellule qui contient la date d'aujourd'hui si le numéro de week = i
- if (ToDayM == true && (i==(TodayNumWeek-1)))
- {
- HtmlTableCell MaCase = new HtmlTableCell();
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#dd0000");
- MaCase.InnerText = "|";
- Maligne.Cells.Add(MaCase);
- MaCase.Attributes.Add("onMouseOver", "InfoBulleToDay()");
- }
- #endregion
-
- #region Création d'une cellule normale
- else
- {
- HtmlTableCell MaCase = new HtmlTableCell();
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#eef0f6");
- MaCase.InnerText = "-";
- Maligne.Cells.Add(MaCase);
- }
- #endregion
-
- }
- Maligne.Attributes.Add("id", string.Concat(Prefix, NumDetailMois));
- T.Rows.Add(Maligne);
- }
- #endregion
-
- #region Méthode qui remplie les cellules dans un Tableau de semaine qui appartient a un mois donnée
- /// <summary>
- /// Méthode qui remplie les cellules dans un Tableau de semaine qui appartient a un mois donnée
- /// <returns>
- /// Void
- /// </returns>
- /// <param name="T">
- /// L'ID du Tableau de semaine d'un mois donnée dans la page Aspx
- /// </param>
- /// <param name="Sdeb">
- /// Numéro de la semaine de début (1 à 4)
- /// </param>
- /// <param name="Sfin">
- /// Numéro de la semaine de fin (1 à 4)
- /// </param>
- /// <param name="IndexGUID">
- /// Guid de l'enregistrement Marketing,Utiliser pour l'ouverture du formulaire CRM aprés le OnClick sur une cellule
- /// </param>
- /// <param name="NumLigneCourante">
- /// Numéro de la ligne en cours,utiliser pour différencier les ligne en bleu ou bleu claire
- /// </param>
- /// <param name="ToDayM">
- /// True si T apprtient a un mois de la date d'aujourd'hui si non False
- /// </param>
- /// </summary>
- protected void PutCellsIntoTable(HtmlTable T, Int32 Sdeb, Int32 Sfin, Guid IndexGUID, int NumLigneCourante, bool ToDayM,int NumDetailMois,string Prefix)
- {
- HtmlTableRow Maligne = new HtmlTableRow();
- Int32 D;
- Int32 i = 0;
- int FolowToDayWeek=0;
- string Titre = "Marketing";
- string IntervalDate = "Du "+StringDateDeb+ " au " +StringDateFin;
- string Budget = budget + " Euro";
- string Album = ArtistC.GetAlbum(); ;
-
-
- #region Afficher les Cellules vide qui se trouve avant la semaine de début
- D = (Sfin - Sdeb) +1;
- //MessageBox.Show(D.ToString());
- for (i = 0; i < Sdeb - 1; i++)
- {
- HtmlTableCell MaCase = new HtmlTableCell();
- if (ToDayM == true && (i == (TodayNumWeek-1)))
- {
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#dd0000");
- MaCase.InnerText = "|";
- MaCase.Attributes.Add("onMouseOver", "InfoBulleToDay()");
- }
- else
- {
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#e3e3e3");
- MaCase.InnerText = "-";
- }
- Maligne.Attributes.Add("id", string.Concat(Prefix, NumDetailMois));
- Maligne.Cells.Add(MaCase);
- }
- #endregion
-
- FolowToDayWeek = i;
- T.Rows.Add(Maligne);
-
- #region Afficher les Cellules qui contiennent de l'information
- for (i = 0; i < D; i++)
- {
- HtmlTableCell MaCase = new HtmlTableCell();
- HtmlTable Macase1 = new HtmlTable();
- Maligne.Attributes.Add("id", string.Concat(Prefix, NumDetailMois));
- Maligne.Attributes.Add("OnClick", "FormulaireCRM('" + IndexGUID.ToString() + "','" + MarketingTypeCode + "','" + DetailsTypeCode + "','" + Artist_Id.ToString() + "','" + Project_Id.ToString() + "')");
- Maligne.Attributes.Add("onMouseOver", "InfoBulle('" + Titre + "','" + MarketingTitle + "','" + IntervalDate + "','" + Budget + "','" + Album + "')");
- if (NumLigneCourante % 2 == 0)
- {
- MaCase.BgColor = "#749eff";
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#749eff");
- }
- else
- {
- MaCase.BgColor = "#99ccff";
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#99ccff");
- }
-
- if (ToDayM == true && (FolowToDayWeek == (TodayNumWeek - 1)))
- {
- //MessageBox.Show("TodayNumWeek-2 " + TodayNumWeek.ToString());
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#dd0000");
- MaCase.InnerText = "|";
- MaCase.Attributes.Add("onMouseOver", "InfoBulleToDay()");
- Maligne.Cells.Add(MaCase);
- }
- else
- {
- MaCase.InnerText = "-";
- //MaCase.InnerHtml = "<table ><tr><td style=\"background-color:Red\"/>-</td></tr></table>";
- Maligne.Cells.Add(MaCase);
- }
- FolowToDayWeek++;
- }
- #endregion
-
-
- FolowToDayWeek = FolowToDayWeek + i;
- T.Rows.Add(Maligne);
-
- #region Afficher les cellules vide qui se trouve aprés la semaime de fin
- for (i = 0; i < (4 - Sfin); i++)
- {
- HtmlTableCell MaCase = new HtmlTableCell();
- if (ToDayM == true && (FolowToDayWeek == (TodayNumWeek - 1)))
- {
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#dd0000");
- MaCase.InnerText = "|";
- MaCase.Attributes.Add("onMouseOver", "InfoBulleToDay()");
- }
- else
- {
- MaCase.Style.Add(HtmlTextWriterStyle.Color, "#e3e3e3");
- MaCase.InnerText = "-";
- }
-
- Maligne.Cells.Add(MaCase);
- Maligne.Attributes.Add("id", string.Concat(Prefix, NumDetailMois));
- FolowToDayWeek++;
- }
- #endregion
- T.Rows.Add(Maligne);
- }
- #endregion
-
- public int GetMarketingRowsNember()
- {
- return NbRows;
- }
- }
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using EMIRapportDataSetTableAdapters;
/// <summary>
/// ClassName:MarketingClass
/// Release Date:21/12/2007
/// Description:Classe pour le traittement de la partie Marketing
/// </summary>
public class MarketingClass
{
private string DetailsTypeCode; //Code de l'entity Details;
private string MarketingTypeCode; //Code de l'entity marketing dans le CRM
private Int32 NbRows; //Nombre de Ligne dans le DataTabe des Marketing
private DateTime DateDeb; //Date début d'un enregistrement Marketing
private DateTime DateFin; //Date fin d'un enregistrement Marketing
private string StringDateDeb;
private string StringDateFin;
private Int32 Nbs = 0; //Nombre de semaine Totale entre DateDeb et DateFin
private Int32 DebMois; //Le numero de Mois de la date de début
private Int32 FinMois; //Le numero de Mois de a date de fin
private Int32 DebSemaine; //Numero de la semaine de la date de début (Premiere semaine a partir de la quel on débute le déssin exemple:S1 de Mars)
private Int32 FinSemaine; //Numero de la semaine de la Date de fin (Derniere semaine exemple S3 de Juin)
private Guid Artist_Id; //Guid de l'artiste
private Guid Project_Id; //Guid de l'album
private Guid MarketingGuid; //CodeType de l'entity Marketing
private string MarketingTitle; //Titre d'un enregistrement Marketing
private string budget;
// private string Album;
int NumSDeb_Ann; //Numero de la semaine de début dans l'année
int NumSFin_Ann; //Numero de la semaine de fin dans l'année
int NumS1er_J_Deb_Ann; //numero de la semaine dans l'année de la premiere semaine dans un moi donnée(Pour la date de début)
int NumS1er_J_Fin_Ann; //numero de la semaine dans l'année de la premiere semaine dans un moi donnée(Pour la date de fin)
private DateClass DateC; //Attribut de la class Date pour les opération spécial de calcule des semaines...
// private HtmlTable[] TableOfWeek; //Tableau qui contient les ID des Tabeaux de semaine dans la page Aspx pour la partie Marketing
private ArtistClass ArtistC; //Attribut de type Artiste
private int TodayMonth; //Mois du jour courant
private int TodayWeek; //Lasemaine courante
private int TodayFirstWeek; //la semaine du 1er jour dans le mois courant
private int TodayNumWeek; //la semaine du jour en cours(de 1 à 4)
private DateTime Today; //la date d'aujoudhui
private MarketingTableAdapter MarketingTableAdapter; //Table Adapter qui contient les informations des enregistrements de Marketing
private EMIRapportDataSet.MarketingDataTable MarketingData;
#region Constructeur
/// <summary>
/// Constructeur
/// <returns>
/// None
/// </returns>
/// <param name="ArtistId">
/// Le Guid de L'artiste
/// </param>
/// <param name="ProjectId">
/// Le Guid de l'album
/// </param>
/// <param name="TypeIdMarketing">
/// le type code de l'entity Marketing
/// </param>
/// </summary>
public MarketingClass(string ArtistId, string ProjectId, string TypeIdMarketing, string DetailsTypeCode)
{
this.DetailsTypeCode = DetailsTypeCode;
this.MarketingTypeCode = TypeIdMarketing;
this.Artist_Id = new Guid(ArtistId);
this.Project_Id = new Guid(ProjectId);
this.ArtistC = new ArtistClass(ArtistId, ProjectId);
this.MarketingTableAdapter = new MarketingTableAdapter();
this.MarketingData = new EMIRapportDataSet.MarketingDataTable();
#region Création de la date d'aujourd'hui
this.DateC = new DateClass();
this.Today = DateTime.Today;
this.TodayMonth = Today.Month;
this.TodayWeek = DateC.NumeroSemaine(Today);
this.TodayFirstWeek=DateC.NumeroSemaine(Convert.ToDateTime("01" + Today.ToString().Remove(0, 2)));
this.TodayNumWeek = DateC.localiserSemaine(TodayFirstWeek, TodayWeek);
#endregion
try
{
MarketingTableAdapter.FillMarketingByArtistId_ProjectId(MarketingData, Project_Id, Artist_Id);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
#endregion
#region Méthode pour la construction de la liste des Marketings
/// <summary>
/// Méthode pour la construction de la liste des Marketings
/// <returns>
/// Void
/// </returns>
/// <param name="T">
/// L'ID du Tableau Marketing Dans la page Aspx
/// </param>
/// <param name="TofWeek">
/// L'ID du Tableau des Weekend
/// </param>
/// </summary>
public void DisplayMarketingTable(HtmlTable T,HtmlTable[] TofWeek)
{
Int32 StarRow = 0; //Compteur qui parcoure le DataTable des Marketing
NbRows = MarketingData.Rows.Count; //Nombre de ligne dans la DataTable de MARKETING
#region Boucle qui parcoure le DataTable des Marketing et Lance l'affichage dans la page Aspx
for (StarRow = 0; StarRow < NbRows; StarRow++)
{
HtmlTableRow Maligne = new HtmlTableRow(); //Nouvelle ligne
HtmlTableCell MaCase = new HtmlTableCell(); //Nouvelle case
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#3f4b68");
// MaCase.InnerText = MarketingData.Rows[StarRow].ItemArray[1].ToString(); //Affectation du texte d'un enregistrement Marketing dans la case
MaCase.InnerHtml = " <img src=\"ico_Arrow_R.gif\"/>"+" " + MarketingData.Rows[StarRow].ItemArray[1].ToString();
Maligne.Attributes.Add("id", string.Concat("Marke", StarRow));
Maligne.Cells.Add(MaCase);
Maligne.Style.Add(HtmlTextWriterStyle.FontStyle, "Tahoma, 10");
T.Rows.Add(Maligne);
MarketingGuid = new Guid(MarketingData.Rows[StarRow].ItemArray[0].ToString());
MarketingTitle = MarketingData.Rows[StarRow].ItemArray[1].ToString();
budget = MarketingData.Rows[StarRow].ItemArray[4].ToString();
//Date debut d'une Marketing
StringDateDeb = MarketingData.Rows[StarRow].ItemArray[3].ToString();
DateDeb = Convert.ToDateTime(MarketingData.Rows[StarRow].ItemArray[3].ToString());
//Date de Fin d'une Marketing
StringDateFin = MarketingData.Rows[StarRow].ItemArray[2].ToString();
DateFin = Convert.ToDateTime(MarketingData.Rows[StarRow].ItemArray[2].ToString());
//Mois de début
DebMois = DateDeb.Month;
//Mois de fin
FinMois = DateFin.Month;
#region Traittement de calcule de Nombre de semaine totale pour l'enregistrement en cours
NumSDeb_Ann = DateC.NumeroSemaine(DateDeb);
// MessageBox.Show("NumSDeb_Ann " + NumSDeb_Ann.ToString());
NumS1er_J_Deb_Ann = DateC.NumeroSemaine(Convert.ToDateTime("01" + DateDeb.ToString().Remove(0, 2)));
// MessageBox.Show("NumS1er_J_Deb_Ann " + NumS1er_J_Deb_Ann.ToString());
NumS1er_J_Fin_Ann = DateC.NumeroSemaine(Convert.ToDateTime("01" + DateFin.ToString().Remove(0, 2)));
NumSFin_Ann = DateC.NumeroSemaine(DateFin);
// MessageBox.Show("NumS1er_J_Fin_Ann " + NumS1er_J_Fin_Ann.ToString());
// MessageBox.Show("NumSFin_Ann " + NumSFin_Ann.ToString());
if (NumSFin_Ann < NumS1er_J_Fin_Ann)
{
NumSFin_Ann = NumS1er_J_Fin_Ann + 4;
}
Nbs = NumSFin_Ann - NumSDeb_Ann;
DebSemaine = DateC.localiserSemaine(NumS1er_J_Deb_Ann, NumSDeb_Ann);
//MessageBox.Show("DebSemaine " + DebSemaine.ToString());
FinSemaine = DateC.localiserSemaine(NumS1er_J_Fin_Ann, NumSFin_Ann);
// MessageBox.Show("FinSemaine " + FinSemaine.ToString());
#endregion
//Nbs = Nbs + 1;
// MessageBox.Show(Nbs.ToString());
//Appel a la fonction qui affiche une ligne de marketing
DisplayMarketingLigne(DebSemaine, FinSemaine, Nbs, DebMois-1 , FinMois-1 , MarketingGuid, TofWeek, StarRow,string.Concat("Marke",StarRow.ToString()));
}
#endregion
// Marketing
}
#endregion
#region Méthode pour la construction d'une ligne de Marketing
/// <summary>
/// Méthode pour la construction d'une ligne de Marketing
/// <returns>
/// Void
/// </returns>
/// <param name="SdebT">
/// Le numéro de la semaine de début de la ligne (de 1 à 4)
/// </param>
/// <param name="SfinT">
/// Le numéro de la semaine de Fin de la ligne (de 1 à 4)
/// </param>
/// <param name="NombreSemaine">
/// Nombre de semaine Totale entre SdebT et SfinT de la ligne
/// </param>
/// <param name="Moisdeb">
/// Mois de début de la ligne (de 1 à 12)
/// </param>
/// <param name="Moisfin">
/// Mois de début de la ligne (de 1 à 12)
/// </param>
/// <param name="IndexGuid">
/// Guid du Marketing en cours (Utilisée pour l'ouverture du formulaire CRM)
/// </param>
/// <param name="NumLigneCourante">
/// Numéro de ligne courante (Utilisée pour savoir la couleur choisie de ligne:Bleu ou bleu claire)
/// </param>
/// </summary>
private void DisplayMarketingLigne(Int32 SdebT, Int32 SfinT, Int32 NombreSemaine, Int32 Moisdeb, Int32 Moisfin, Guid IndexGuid,HtmlTable[] TofWeek,int NumLigneCourante,string Prefix)
{
Int32 IndexMois = 0;
Int32 K;
//MessageBox.Show(Moisdeb.ToString());
#region Parcourir les Mois avant le Mois de début
for (K = 0; K < Moisdeb; K++)
{
//MessageBox.Show("Avant");
if (K == (TodayMonth - 1))
{
PutCellsIntoTableEmpty(TofWeek[K], true,K,Prefix);
}
else
{
PutCellsIntoTableEmpty(TofWeek[K], false, K, Prefix);
}
}
#endregion
#region Parcourir les mois concerner(les mois coloré)
for (IndexMois = Moisdeb; IndexMois <= Moisfin; IndexMois++)
{
// MessageBox.Show(IndexMois.ToString());
if (IndexMois == Moisdeb && NombreSemaine >= 4)
{
//MessageBox.Show("H1");
if (IndexMois == (TodayMonth - 1))
{
PutCellsIntoTable(TofWeek[IndexMois], SdebT, 4, IndexGuid, NumLigneCourante, true,IndexMois, Prefix);
}
else
{
PutCellsIntoTable(TofWeek[IndexMois], SdebT, 4, IndexGuid, NumLigneCourante, false, IndexMois, Prefix);
}
}
else if (IndexMois == Moisdeb && NombreSemaine < 4)
{
// MessageBox.Show("H1");
if (IndexMois == (TodayMonth - 1))
{
PutCellsIntoTable(TofWeek[IndexMois], SdebT, SfinT, IndexGuid, NumLigneCourante, true, IndexMois, Prefix);
}
else
{
PutCellsIntoTable(TofWeek[IndexMois], SdebT, SfinT, IndexGuid, NumLigneCourante, false, IndexMois, Prefix);
}
}
if (IndexMois > Moisdeb && IndexMois < Moisfin)
{
if (IndexMois == TodayMonth - 1)
{
PutCellsIntoTable(TofWeek[IndexMois], 1, 4, IndexGuid, NumLigneCourante, true, IndexMois, Prefix);
}
else
{
PutCellsIntoTable(TofWeek[IndexMois], 1, 4, IndexGuid, NumLigneCourante, false, IndexMois, Prefix);
}
}
if (IndexMois == Moisfin && Moisdeb!=Moisfin)
{
if (IndexMois == TodayMonth - 1)
{
PutCellsIntoTable(TofWeek[IndexMois], 1, SfinT, IndexGuid, NumLigneCourante, true, IndexMois, Prefix);
}
else
{
PutCellsIntoTable(TofWeek[IndexMois], 1, SfinT, IndexGuid, NumLigneCourante, false, IndexMois, Prefix);
}
}
}
#endregion
#region Parcourir les mois aprés le mois de fin
for (K = Moisfin + 1; K <= 11; K++)
{
if (K == (TodayMonth - 1))
{
PutCellsIntoTableEmpty(TofWeek[K], true, K, Prefix);
}
else
{
PutCellsIntoTableEmpty(TofWeek[K], false, K, Prefix);
}
}
#endregion
}
#endregion
#region Méthode qui remplie les cellules des mois vide
/// <summary>
/// Méthode qui remplie les cellules des mois vide
/// <returns>
/// Void
/// </returns>
/// <param name="T">
/// L'ID du Tableau de semaine dans la page Aspx
/// </param>
/// <param name="ToDayM">
/// True si le Tableau de semaine (T) appartient au mois de la date d'aujourd'hui si non false
/// </param>
/// </summary>
protected void PutCellsIntoTableEmpty(HtmlTable T,bool ToDayM,int NumDetailMois,string Prefix)
{
HtmlTableRow Maligne = new HtmlTableRow();
for (Int32 i = 0; i < 4; i++)
{
#region Création d'une cellule qui contient la date d'aujourd'hui si le numéro de week = i
if (ToDayM == true && (i==(TodayNumWeek-1)))
{
HtmlTableCell MaCase = new HtmlTableCell();
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#dd0000");
MaCase.InnerText = "|";
Maligne.Cells.Add(MaCase);
MaCase.Attributes.Add("onMouseOver", "InfoBulleToDay()");
}
#endregion
#region Création d'une cellule normale
else
{
HtmlTableCell MaCase = new HtmlTableCell();
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#eef0f6");
MaCase.InnerText = "-";
Maligne.Cells.Add(MaCase);
}
#endregion
}
Maligne.Attributes.Add("id", string.Concat(Prefix, NumDetailMois));
T.Rows.Add(Maligne);
}
#endregion
#region Méthode qui remplie les cellules dans un Tableau de semaine qui appartient a un mois donnée
/// <summary>
/// Méthode qui remplie les cellules dans un Tableau de semaine qui appartient a un mois donnée
/// <returns>
/// Void
/// </returns>
/// <param name="T">
/// L'ID du Tableau de semaine d'un mois donnée dans la page Aspx
/// </param>
/// <param name="Sdeb">
/// Numéro de la semaine de début (1 à 4)
/// </param>
/// <param name="Sfin">
/// Numéro de la semaine de fin (1 à 4)
/// </param>
/// <param name="IndexGUID">
/// Guid de l'enregistrement Marketing,Utiliser pour l'ouverture du formulaire CRM aprés le OnClick sur une cellule
/// </param>
/// <param name="NumLigneCourante">
/// Numéro de la ligne en cours,utiliser pour différencier les ligne en bleu ou bleu claire
/// </param>
/// <param name="ToDayM">
/// True si T apprtient a un mois de la date d'aujourd'hui si non False
/// </param>
/// </summary>
protected void PutCellsIntoTable(HtmlTable T, Int32 Sdeb, Int32 Sfin, Guid IndexGUID, int NumLigneCourante, bool ToDayM,int NumDetailMois,string Prefix)
{
HtmlTableRow Maligne = new HtmlTableRow();
Int32 D;
Int32 i = 0;
int FolowToDayWeek=0;
string Titre = "Marketing";
string IntervalDate = "Du "+StringDateDeb+ " au " +StringDateFin;
string Budget = budget + " Euro";
string Album = ArtistC.GetAlbum(); ;
#region Afficher les Cellules vide qui se trouve avant la semaine de début
D = (Sfin - Sdeb) +1;
//MessageBox.Show(D.ToString());
for (i = 0; i < Sdeb - 1; i++)
{
HtmlTableCell MaCase = new HtmlTableCell();
if (ToDayM == true && (i == (TodayNumWeek-1)))
{
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#dd0000");
MaCase.InnerText = "|";
MaCase.Attributes.Add("onMouseOver", "InfoBulleToDay()");
}
else
{
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#e3e3e3");
MaCase.InnerText = "-";
}
Maligne.Attributes.Add("id", string.Concat(Prefix, NumDetailMois));
Maligne.Cells.Add(MaCase);
}
#endregion
FolowToDayWeek = i;
T.Rows.Add(Maligne);
#region Afficher les Cellules qui contiennent de l'information
for (i = 0; i < D; i++)
{
HtmlTableCell MaCase = new HtmlTableCell();
HtmlTable Macase1 = new HtmlTable();
Maligne.Attributes.Add("id", string.Concat(Prefix, NumDetailMois));
Maligne.Attributes.Add("OnClick", "FormulaireCRM('" + IndexGUID.ToString() + "','" + MarketingTypeCode + "','" + DetailsTypeCode + "','" + Artist_Id.ToString() + "','" + Project_Id.ToString() + "')");
Maligne.Attributes.Add("onMouseOver", "InfoBulle('" + Titre + "','" + MarketingTitle + "','" + IntervalDate + "','" + Budget + "','" + Album + "')");
if (NumLigneCourante % 2 == 0)
{
MaCase.BgColor = "#749eff";
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#749eff");
}
else
{
MaCase.BgColor = "#99ccff";
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#99ccff");
}
if (ToDayM == true && (FolowToDayWeek == (TodayNumWeek - 1)))
{
//MessageBox.Show("TodayNumWeek-2 " + TodayNumWeek.ToString());
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#dd0000");
MaCase.InnerText = "|";
MaCase.Attributes.Add("onMouseOver", "InfoBulleToDay()");
Maligne.Cells.Add(MaCase);
}
else
{
MaCase.InnerText = "-";
//MaCase.InnerHtml = "<table ><tr><td style=\"background-color:Red\"/>-</td></tr></table>";
Maligne.Cells.Add(MaCase);
}
FolowToDayWeek++;
}
#endregion
FolowToDayWeek = FolowToDayWeek + i;
T.Rows.Add(Maligne);
#region Afficher les cellules vide qui se trouve aprés la semaime de fin
for (i = 0; i < (4 - Sfin); i++)
{
HtmlTableCell MaCase = new HtmlTableCell();
if (ToDayM == true && (FolowToDayWeek == (TodayNumWeek - 1)))
{
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#dd0000");
MaCase.InnerText = "|";
MaCase.Attributes.Add("onMouseOver", "InfoBulleToDay()");
}
else
{
MaCase.Style.Add(HtmlTextWriterStyle.Color, "#e3e3e3");
MaCase.InnerText = "-";
}
Maligne.Cells.Add(MaCase);
Maligne.Attributes.Add("id", string.Concat(Prefix, NumDetailMois));
FolowToDayWeek++;
}
#endregion
T.Rows.Add(Maligne);
}
#endregion
public int GetMarketingRowsNember()
{
return NbRows;
}
}
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
DataSet,DataTable...pfff... [ par vbtom ]
Salut,Bah je me met à ASP.Net et je doit bien avouer que tous ces DataSet,DataTables.... ca me lourde dpask jy comprend rien Donc si une ame charitabl
DataTable [ par mwahid ]
Comment faire pour savoir que la liqne X.il est supprimer
DataTable et DataReader [ par marhoa ]
Salut, J'utilise le code suivant pour intégrer des données dans un Repeater paginé (je ne veux afficher que 10 éléments à la fois), pour cela j'ai tro
DataGrid et DataKey [ par drahcir ]
Salut à tous,j'ai un datatable avec une clé primaire qui est le datasource de mon datagrid. Je voudrais que la colonne contenant la clé
Commnet Utiliser DataTable ???? ou Stocker temporairement les données ??? [ par arthur007 ]
Bonjour le monde,Je dois faire une page web en ASP.Net qui permetera à l'utilisateur de passer une commande. Cette commande peut etre consti
Dataset et xml [ par sboutorine ]
Bonjour, J'aimerais savoir comment il est possible de récupérer une ou plusieurs lignes d'un datatable quand le champs à interrogé
datagrid --> dataTable [ par elpens ]
Bonjour,J'essaie de copier un dataGrid dans un dataTable. Comment puis-je procéder?Merci et bon aprem ElpenS
Problème tableau dynamique html dans code behind [ par adressprov ]
Bon, je ne savais pas trop dans quel section cela devait aller, je m'en excuse auprès des modos. Voici mon problème, je souhaiterais faire un tableau
Ajouter un ligne dans une DataTable [ par elpens ]
Bonjour,J'aimerai pouvoir insérer de nouvelles lignes dans un dataTable, en ayant la possibilité de définir à quelle ligne je veux l'ajouter.Sinon, de
dataTable [ par bootchoz ]
salut, je dois utiliser une fonction qui retourne un datatable, mais je n'arrive pas a l'afficher. quelle est la methode ?
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
VBVB par 25721088
Cliquez pour lire la suite par 25721088 GESTION FORMATIONGESTION FORMATION par 25721088
Cliquez pour lire la suite par 25721088
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|