help overloaded [c#] [résolu] - C#/.NET managed - Programmation
Marsh Posté le 10-08-2006 à 10:15:57
désolé, il s'agit d'une fonction de groupement de colonnes trouvée sur le net:
public int GroupColumn(DataGrid dg, int ColumnIndex)
{
int ItemIndex = 0;
int Groupings = 0;
foreach (DataGridItem dgi in dg.Items)
{
if (dgi.ItemIndex > 0)
{
//if current cells text is the same as the cell above it
//make it invisible and increase the row span by 1 of the
//last visible cell in that column.
if (dgi.Cells[ColumnIndex].Text ==
dg.Items[dgItem.ItemIndex-1].Cells[ColumnIndex].Text)
{
dgi.Cells[ColumnIndex].Visible = false;
dg.Items[ItemIndex].Cells[ColumnIndex].RowSpan =
dg.Items[ItemIndex].Cells[ColumnIndex].RowSpan + 1;
Groupings++;
}
else if (dg.Items[dgItem.ItemIndex-1].Cells[ColumnIndex].Visible)
{
ItemIndex = dgi.ItemIndex;
}
else
{
dg.Items[ItemIndex].Cells[ColumnIndex].RowSpan =
dg.Items[ItemIndex].Cells[ColumnIndex].RowSpan + 1;
ItemIndex = dgi.ItemIndex;
}
}
}
dg.Items[dg.Items.Count-1].Visible = false;
return Groupings;
}
j'ai bien cherché une réponse, je ne vois qu'un probleme d'accès à une méthode surchargée?
Marsh Posté le 10-08-2006 à 11:32:11
Euh... qu'appelles tu "problèmes d'accès avec une méthode surchargée" ?
Tu confondrais pas avec un autre mot clef .Net ?
overloaded / surchargée, ça veut juste dire qu'il existe plusieurs méthodes qui ont le même nom mais qui utilisent des paramètres différents. Loin de bloquer l'accès, ça permet au contraire d'appeler une méthode de différentes manières.
Bon, c'est ptet évident pour tout le monde, mais au moins là on parle tous de la même chose
(Vaut mieux vexer qqn en lui disant ce qu'il sait déjà que le mépriser en ne lui disant pas ce qu'il devrait savoir)
Bon, maintenant pour ton soucis :
* le control WebForm System.Web.UI.DataGrid à bien une propriété 'Items'.
* le control WinForm System.Windows.Forms.DataGrid n'en n'a pas.
Ce que tu as vu dans la doc, c'est la version Web. Celui que tu utilises dans ton code, c'est la version Winform. Choisi !
Marsh Posté le 10-08-2006 à 11:57:20
merci à vous.
je développe en c#, puis je integrer la version web à mon formulaire?
la version web n'est elle que pour ASPnet?
Marsh Posté le 10-08-2006 à 12:48:55
WinForm = applications Windows.
=> tu installes/copies le fichier compilé sur une machine ayant windows et le framwork, et ça s'exécute en local.
=> Les Dlls du framework contiennent les contrôles WinForm, ce qui permet de les utiliser dans les applications.
ASP.Net = version Web.
=> le programme est installé sur un serveur ayant Windows + le framework. L'utilisateur utilise son navigateur préféré pour parcourir les pages, qu'il soit sous windows/linux , avec/sans le framework
=> ASP génère du HTML "standard", donc ce sont les controls standard définis dans ton navigateur qui sont utilisés
Bon.. maintenant que tu connais le principe. A ton avis, est-ce que les contrôles WebForm et WinForm sont compatibles ?
Marsh Posté le 10-08-2006 à 09:45:43
Salut, je voudrais accéder à une méthode 'item' du control datagrid. Dans l aide, ils marquent cette méthode overloaded.
Comment pouvoir y accéder?
à la compilation ca me met:
Mes documents\Visual Studio Projects\myprj\Form1.cs(1091): 'System.Windows.Forms.DataGrid' ne contient pas de définition pour 'Items'
dans la doc ca me met:
Overloaded. Gets or sets the value of a specified cell.
In C#, this property is the indexer for the DataGrid class.
ca doit etre tout bete, merci de votre aide.
cyb
Message édité par mitoucette le 10-08-2006 à 14:01:13