login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[.NET] Datagrid probleem (Opgelost)

Offline Roy542 - 18/06/2007 22:44 (laatste wijziging 18/06/2007 23:05)
Avatar van Roy542Nieuw lid hey ik zit met een probleem over een klastaak

ik heb een datagrid die gevult is via code (in html pagina) en ik wil de mogenlijkheid hebben om op een record in de kolom firstname te klikken en dan zou er in de tekstbox onder mijn grid de bijhordende data moete verschijnen die zich bevint in de column MessageText, iemand toevallig enig ID want wor er beetje gek van 

MVG
Roy

Citaat:
Titel aangepast.

2 antwoorden

Gesponsorde links
Offline Abbas - 18/06/2007 23:01 (laatste wijziging 20/06/2007 17:51)
Avatar van Abbas Gouden medaille

Crew .NET
1. In een HTML pagina kan je geen ASP.NET gebruiken, het is dus een aspx-pagina...

2. Hier is de oplossing:

Default.aspx
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" >
  6. <head runat="server">
  7. <title>.: .NET met titjes :.</title>
  8. </head>
  9. <body>
  10. <form id="form_een" runat="server">
  11. <div align="center">
  12. <asp:DataGrid ID="grid_een" runat="server" OnItemCommand="actie_Click" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3">
  13. <Columns>
  14. <asp:ButtonColumn DataTextField="voornaam" COmmandName="item_klikken" HeaderText="Voornaam" Text="Button" />
  15. <asp:BoundColumn HeaderText="Achternaam" DataField="achternaam" />
  16. </Columns>
  17. <FooterStyle BackColor="White" ForeColor="#000066" />
  18. <SelectedItemStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
  19. <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" Mode="NumericPages" />
  20. <ItemStyle ForeColor="#000066" />
  21. <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
  22. </asp:DataGrid>
  23. <br />
  24. Achternaam: <asp:TextBox ID="naam_datagrid" runat="server" />
  25. </div>
  26. </form>
  27. </body>
  28. </html>


Default.aspx.cs
  1. using System;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4. using System.Configuration;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;
  10. using System.Web.UI.HtmlControls;
  11.  
  12. public partial class _Default : System.Web.UI.Page
  13. {
  14. SqlConnection verbinding = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=H:\\C#\\DataGrid Tekstvak\\App_Data\\Database.mdf; Integrated Security=True; User Instance=True");
  15. SqlCommand commando;
  16. SqlDataAdapter da;
  17. DataSet ds;
  18. string query, naam;
  19.  
  20. protected void Page_Load(object sender, EventArgs e)
  21. {
  22. if (!IsPostBack)
  23. {
  24. BindData();
  25. }
  26. }
  27.  
  28. protected void actie_Click(object sender, DataGridCommandEventArgs e)
  29. {
  30. if (e.CommandName == "item_klikken")
  31. {
  32. naam = e.Item.Cells[1].Text;
  33. naam_datagrid.Text = naam;
  34. }
  35. }
  36.  
  37. protected void BindData()
  38. {
  39. query = "SELECT voornaam, achternaam FROM leden";
  40. commando = new SqlCommand(query, verbinding);
  41.  
  42. da = new SqlDataAdapter(commando);
  43. ds = new DataSet();
  44. da.Fill(ds);
  45.  
  46. grid_een.DataSource = ds;
  47. grid_een.DataBind();
  48. }
  49. }


Voorbeeld van wat ik heb gemaakt staat HIER, het is enkel een afbeelding en dus geen aspx-pagina...

Hier is er een kolom 'voornaam' en 'achternaam', als je op de voorrnaam klikt wordt de achternaam in het tekstvak weergegeven. Ik was vergeten met de namen van jouw topic te werken, maar het principe is hetzelfde. De data komt uit een SQL-database. Als er nog vragen zijn of je begrijpt iets niet: stel gerust! 

Aan de crew: sorry voor de lange code die hier staat, maar ik denk niet dat er iemand direct met een andere oplossing komt ^^

Aangezien je de code in VB.NET nodig hebt, heb ik de mijne omgezet... De form blijft hetzelfde alleen is de Page Language nu "VB" en niet "C#", en de CodeFile is nu Default.aspx.vb... Goed, de code:

  1. Imports System.Data
  2. Imports System.Data.SqlClient
  3.  
  4. Partial Class _Default
  5. Inherits System.Web.UI.Page
  6.  
  7. Dim verbinding As SqlConnection
  8. Dim commando As SqlCommand
  9. Dim da As SqlDataAdapter
  10. Dim ds As DataSet
  11. Dim query, naam As String
  12.  
  13. Protected Sub Page_Load(ByVal sender As Object, ByVal E As EventArgs) Handles MyBase.Load
  14.  
  15. If Not Page.IsPostBack Then
  16. BindData()
  17. End If
  18.  
  19. End Sub
  20.  
  21. Protected Sub actie_Click(ByVal sender As Object, ByVal E As DataGridCommandEventArgs)
  22.  
  23. If E.CommandName = "item_klikken" Then
  24. 'Waarschijnlijk zat hier je fout (ronde haken ipv vierkante]
  25. naam = E.Item.Cells(1).Text
  26. naam_datagrid.Text = naam
  27. End If
  28.  
  29. End Sub
  30.  
  31. Protected Sub BindData()
  32.  
  33. verbinding = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=H:\C#\DataGrid Tekstvak\App_Data\Database.mdf; Integrated Security=True; User Instance=True")
  34. query = "SELECT voornaam, achternaam FROM leden"
  35. commando = New SqlCommand(query, verbinding)
  36.  
  37. da = New SqlDataAdapter(commando)
  38. ds = New DataSet()
  39. da.Fill(ds)
  40.  
  41. grid_een.DataSource = ds
  42. grid_een.DataBind()
  43.  
  44. End Sub
  45.  
  46. End Class
Offline Roy542 - 20/06/2007 18:25
Avatar van Roy542 Nieuw lid TNX 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.36s