IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#]Recuperer valeur de ligne dans un datagrid


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Points : 38
    Points
    38
    Par défaut [C#]Recuperer valeur de ligne dans un datagrid
    Je dispose d un datagrid avec commme premiere colonne un bouton image rattaché a un textox. Voici le code dans le HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <ItemTemplate>
        <asp:imagebutton id="Button1" runat="server" commandname="Select" </asp:imagebutton>			
         <asp:TextBox id=UserId runat="server" text='<%# DataBinder.Eval(Container, "DataItem.UserId") %>'>
            </asp:TextBox>
    </ItemTemplate>
    Je souhaite recuperer le UserId (1er champs dans ma table) de ma ligne selectionné pour pouvoir par la suite la supprimer en cliquant sur un bouton.
    Comment je peux recuperer cette UserId.
    Merci d avance

  2. #2
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    Slt,

    Dans un premier temps si tu utilises un "ItemTemplate" c'est que tu dois utiliser un repeater ;-)

    Bon sinon voici un morceau de code (a améliorer) mais le principe est la :

    aspx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <form id="Form1" method="post" runat="server">
    			<asp:Repeater id="list" runat="server">
    				<ItemTemplate>
    					<asp:Button ID="button" Runat="server"></asp:Button>
    					<asp:TextBox id=UserId runat="server" text='<%# DataBinder.Eval(Container, "DataItem.Value") %>'>
    					</asp:TextBox>
    				</ItemTemplate>
    			</asp:Repeater>
    		</form>
    Donc, des que tu va cliquer sur ton bouton ou imagebouton, le code appelera la methode "list_ItemCommand" et il ne reste plus qu'a recuperer la valeur du textBox.

    cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    public class WebForm1 : System.Web.UI.Page
    	{
    		protected System.Web.UI.WebControls.Repeater list;
     
    		private void Page_Load(object sender, System.EventArgs e)
    		{
    			if(!IsPostBack)
    			{
    				System.Data.DataTable myDataTable = new DataTable();
    				DataRow myDataRow;
    				DataColumn myDataColumn;
     
    				myDataColumn = new DataColumn();
    				myDataColumn.DataType = System.Type.GetType("System.Int32");
    				myDataColumn.ColumnName = "id";
    				myDataTable.Columns.Add(myDataColumn);
     
    				myDataColumn = new DataColumn();
    				myDataColumn.DataType = System.Type.GetType("System.String");
    				myDataColumn.ColumnName = "value";
    				myDataTable.Columns.Add(myDataColumn);
     
    				myDataRow = myDataTable.NewRow();
    				myDataRow["id"] = 1;
    				myDataRow["value"] = "moi";
    				myDataTable.Rows.Add(myDataRow);
     
    				myDataRow = myDataTable.NewRow();
    				myDataRow["id"] = 2;
    				myDataRow["value"] = "toi";
    				myDataTable.Rows.Add(myDataRow);
     
    				list.DataSource = myDataTable;
    				list.DataBind();
    			}
    		}
     
    		#region Web Form Designer generated code
    		override protected void OnInit(EventArgs e)
    		{
    			//
    			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
    			//
    			InitializeComponent();
    			base.OnInit(e);
    		}
     
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		private void InitializeComponent()
    		{    
    			this.list.ItemCommand += new System.Web.UI.WebControls.RepeaterCommandEventHandler(this.list_ItemCommand);
    			this.Load += new System.EventHandler(this.Page_Load);
     
    		}
    		#endregion
     
    		private void list_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
    		{
    			TextBox c;
     
    			c = (TextBox)e.Item.Controls[3];
    		}
     
     
    	}
    Pour ameliorer, il faudrait utiliser le "FindControl" mais je ne me rappele plus de la syntax.

    @+
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Points : 38
    Points
    38
    Par défaut
    merci Jay c est bon ca marche

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par kenzo080
    merci Jay c est bon ca marche.....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [vb.net]recuperer valeur cellule contenue dans datagrid
    Par nasty dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/02/2014, 11h29
  2. [Datagrid]:Ajout de ligne dans mon datagrid
    Par shirya dans le forum ASP.NET
    Réponses: 6
    Dernier message: 29/01/2007, 17h52
  3. [VB.NET][WindowsForm]Limiter le nombre de ligne dans un datagrid
    Par jota5450 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/01/2007, 16h21
  4. [C#] Sélection de lignes dans un DataGrid
    Par wayak3 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/07/2005, 10h17
  5. [C#] Largeur de colonne et de ligne dans un DataGrid
    Par pc152 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/08/2004, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo