[ASP.NET] Checkboxes op datagrid

Pagina: 1
Acties:
  • 212 views sinds 30-01-2008

  • CrazyFool
  • Registratie: Januari 2004
  • Laatst online: 10:08
Hoi Beste GoTters,

Ik ben bezig met een project en dat is te zien op
spam



Nu wil ik graag doormiddel van die checkboxes die ik zelf (dat is nog gelukt) op
het datagrid heb geplaatst

De waardes uitlezen en die vervolgens op een andere pagina weer gebruiken.
Ik programmeer dit systeem in VB.net (Ik ben een n00b op .net gebied)

Ik heb al verschillende dingen gevonden op internet maar krijg het telkens niet
aan de gang

Jullie zijn m'n laatste kans

M.v.g Gerben

[ Voor 6% gewijzigd door whoami op 24-01-2004 12:38 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:01

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 is heel benieuwd hoe je dan hebt gezocht en wat er niet werkt.. :?

http://www.google.nl/sear...=UTF-8&oe=UTF-8&hl=nl&lr=

2e link; complete tutorial met voorbeeldcode.....

[ Voor 20% gewijzigd door gorgi_19 op 24-01-2004 11:31 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • CrazyFool
  • Registratie: Januari 2004
  • Laatst online: 10:08
Ik zal wel een n00b zijn maar ik krijg dat voorbeeld niet werkend met mijn code.

Dit is m'n code
code:
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<script runat="server">
Sub page_load()
    If Request.QueryString("fab") <> "" Then
        dgVoorraad.Datasource = dsVoorraadFab(request.QueryString("fab"))
    Elseif Request.QueryString("fil") <> "" Then
        dgVoorraad.Datasource = dsVoorraadFil(request.QueryString("fil"))
    Else
        dgVoorraad.Datasource = dsVoorraad()
    End If
    dgVoorraad.DataBind

End Sub

    Function dsVoorraad() As System.Data.DataSet
        Dim connectionString As String = "knip"
        Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
        
        Dim queryString As String = "SELECT viewMag.* FROM viewMag"
        Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
        dbCommand.CommandText = queryString
        dbCommand.Connection = dbConnection
        
        Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
        dataAdapter.SelectCommand = dbCommand
        Dim dataSet As System.Data.DataSet = New System.Data.DataSet
        dataAdapter.Fill(dataSet)
        
        Return dataSet
    End Function
    
        
    Function dsVoorraadFil(ByVal magazijn As String) As System.Data.DataSet
        Dim connectionString As String = "server='knip'"
        Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
        
        Dim queryString As String = "SELECT [viewMag].* FROM [viewMag] WHERE ([viewMag].[magazijn] = @magazijn)"
        Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
        dbCommand.CommandText = queryString
        dbCommand.Connection = dbConnection
        
        Dim dbParam_magazijn As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
        dbParam_magazijn.ParameterName = "@magazijn"
        dbParam_magazijn.Value = magazijn
        dbParam_magazijn.DbType = System.Data.DbType.String
        dbCommand.Parameters.Add(dbParam_magazijn)
        
        Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
        dataAdapter.SelectCommand = dbCommand
        Dim dataSet As System.Data.DataSet = New System.Data.DataSet
        dataAdapter.Fill(dataSet)
        
        Return dataSet
    End Function
    
        
    Function dsVoorraadFab(ByVal fabrikant As String) As System.Data.DataSet
        Dim connectionString As String = "knip'"
        Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
        
        Dim queryString As String = "SELECT [viewMag].* FROM [viewMag] WHERE ([viewMag].[fabrikant] = @fabrikant)"
        Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
        dbCommand.CommandText = queryString
        dbCommand.Connection = dbConnection
        
        Dim dbParam_fabrikant As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
        dbParam_fabrikant.ParameterName = "@fabrikant"
        dbParam_fabrikant.Value = fabrikant
        dbParam_fabrikant.DbType = System.Data.DbType.String
        dbCommand.Parameters.Add(dbParam_fabrikant)
        
        Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
        dataAdapter.SelectCommand = dbCommand
        Dim dataSet As System.Data.DataSet = New System.Data.DataSet
        dataAdapter.Fill(dataSet)
        
        Return dataSet
    End Function
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Magazijnen AVS</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Voorraad Seats And Sofa's bij AVS</h1>
<form runat="server">
<asp:DataGrid id="dgVoorraad" runat="server" BorderStyle="Solid" GridLines="Vertical" BorderWidth="1px" BorderColor="#999999" BackColor="White" CellPadding="3" ForeColor="Black">
            <FooterStyle backcolor="#CCCCCC"></FooterStyle>
            <HeaderStyle font-bold="True" forecolor="White" backcolor="Black"></HeaderStyle>
            <PagerStyle horizontalalign="Center" forecolor="Black" backcolor="#999999"></PagerStyle>
            <SelectedItemStyle font-bold="True" forecolor="White" backcolor="#000099"></SelectedItemStyle>
            <AlternatingItemStyle backcolor="#CCCCCC"></AlternatingItemStyle>
<Columns>
    <asp:TemplateColumn HeaderText="Select">
    
    <ItemTemplate>
            <asp:CheckBox id="chkSelect">
      </ItemTemplate>
    
    </asp:TemplateColumn>
    </Columns>

  </asp:DataGrid>

  </form>

 


  <p> </p>
  <a href="index.aspx"><< Terug
  </a>

</body>
</html>


Deze code werkt tot zover
Het lukt mij alleen niet het gedeelte van die Checkboxes erin te krijgen
Hoe stom het ook lklinkt het lukt me domweg niet geen foutmeldingen en dergelijke
ik krijg alleen dat gedeelte er niet in....


hij staat hier

Link gewijzigd.

spam

[ Voor 61% gewijzigd door whoami op 24-01-2004 13:55 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:01

gorgi_19

Kruimeltjes zijn weer op :9

Sorry, maar hier kan ik niets mee... 117 regels code en een opmerking "'t werkt niet". Geen foutmelding, geen debugcode, geen enkel verschijnsel wat er gebeurd, wat je zelf hebt geprobeerd.. Verder geen enkele suggestie waar je zelf denkt dat een fout zit.

Kan je je post aanpassen, zodat de informatie die hier gevraagd wordt, er in staat?

Trouwens, ook lekker handig om je wachtwoord van je SQL Server te posten.

Verder krijg ik een 404 Pagina niet gevonden.

Ik vind het trouwens niet zo gek dat hij het niet doet; je hebt de helft van de tutorial niet doorgenomen. Ik mis iig een heel stuk code.

[ Voor 34% gewijzigd door gorgi_19 op 24-01-2004 12:10 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:01

gorgi_19

Kruimeltjes zijn weer op :9

.

[ Voor 100% gewijzigd door gorgi_19 op 24-01-2004 12:09 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • CrazyFool
  • Registratie: Januari 2004
  • Laatst online: 10:08
Ik heb het net geprobeerd van die tutorial
en Als ik die codes erin copy past en dergelijke krijg ik alleen maar foutmeldingen

Ik heb nog nooit eerder in vb.net gewerkt en moet iemand anders zijn werk afmaken.

Ik hoop dat jullie mij opweg kunnen helpen.
Ik zit hier echt mee omhoog

//Edit de code hierboven is de code waar dat van die tut in moet maar ik niet voor elkaar krijg....
Ben ik dan echt zo dom of is asp.net niet voor mij weggelegd

[ Voor 23% gewijzigd door CrazyFool op 24-01-2004 12:13 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:01

gorgi_19

Kruimeltjes zijn weer op :9

Ik heb het net geprobeerd van die tutorial
en Als ik die codes erin copy past en dergelijke krijg ik alleen maar foutmeldingen

Ik heb nog nooit eerder in vb.net gewerkt en moet iemand anders zijn werk afmaken.
Dan wordt het kunnen helpen vrij lastig. Wat jij wilt is niet een standaard functionaliteit; met letterlijk kopieren / plakken kom je niet ver; je moet wel enigszins een basis hebben.

Sowieso vind ik de code een bende en heel inflexibel, wie deze dan ook gemaakt heeft. Naamgeving van functies, geen gebruik van web.config, in iedere functie een connectionstring, etc.

Je gaat verder gruwelijk de mist in met je load-event; Deze wordt iedere keer overschreven en er wordt niet gecontroleerd op
Visual Basic .NET:
1
2
3
4
5
6
7
8
Private Sub LoadPage(sender as object, e as eventArgs) Handles MyBase.Load

    If Page.IsPostBack Then

        ' Voer code uit

    End if
End Sub
Ben ik dan echt zo dom of is asp.net niet voor mij weggelegd
Eerst leren lopen, daarna pas proberen om de 100 meter sprint te winnen.

[ Voor 29% gewijzigd door gorgi_19 op 24-01-2004 12:29 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Sorry, maar ik zou ook doen wat gorgi_19 zegt: eerst wat simpele dingen leren, en dan zo stap voor stap verder gaan.
P&W is niet bedoeld om hier je code te posten, met een vermelding 'het werkt niet', en dan maar hopen dat er iemand zo gek is om jouw code te gaan debuggen en fixen, zo werkt het het hier niet.
Zoek eens een tutorial of een boek waar de basis van ASP.NET uitgelegd wordt, en leer dat eerst, want als je die niet hebt, dan kan je nog lang blijven aanklooien.

Lees daarnaast ook even de Quickstart, daarin wordt uitgelegd hoe je hier een goed topic kunt openen.
We verwachten nl. van jou als topicstarter in P&W ook enige zelfwerkzaamheid, dat wil zeggen dat we verwachten dat je zelf ook eens je code debugged, ...

[ Voor 16% gewijzigd door whoami op 24-01-2004 12:43 ]

https://fgheysels.github.io/


  • CrazyFool
  • Registratie: Januari 2004
  • Laatst online: 10:08
Ben ik met jullie eens dat ik eerst moet leren lopen

Alleen ik moet dit project dus afmaken voor iemand die er mee gestopt is
en ik moet het klaar hebben voor volgende week..

Kunnen jullie me echt niet even een eindje op weg helpen.?
Ik wil graag die zooi kunnen selecteren en de geselecteerde items
op een andere pagina weer gebruiken..

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:01

gorgi_19

Kruimeltjes zijn weer op :9

It is in this last section of code that we come to the meat of the article. It was very easy to add CheckBoxes to the DataGrid in our aspx page. Now how do we find out which ones were checked and information we need from the rows on which checked boxes are found?

The answer lies in the DataGrid's item collection and in the FindControl method. As you can see we are dimensioning a variable (dgItem) as DataGridItem. DataGridItem is part of the System.Web.UI.WebControls namespace. Using the this variable we can use a For Each loop to cycle through each row in the grid.

We have also dimensioned chkSelected as CheckBox. This allows us to find controls of type CheckBox. We do this with the line chkSelected = dgItem.FindControl("chkSelection"). "chkSelection" is the name we gave our CheckBoxes when we created them inside the grid in our aspx page. Once our code finds a chkSelection we can then test to see if it is checked.

If it is checked, then we again use FindControl to find the other information we need such as CustomerID and Company Name. If we were really deleting rows in this example program we could then use CustomerID to write a SQL DELETE statement with CustomerID in the WHERE clause. Instead, we are just displaying Company Name and CustomerID in the label control on the aspx page.
HTML:
1
<asp:Button ID="btnShow" Text="Delete Checked Rows" OnClick="ShowSelections" Runat="server" />

.....
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Sub ShowSelections(sender As System.Object, e As System.EventArgs)
      Dim dgItem As DataGridItem
      Dim chkSelected As CheckBox
      Dim strCompanyName As String
      Dim strCustomerID As String

      lblSelections.Text = "<br>Fooled Ya! The following rows were marked for deletion, " 
      lblSelections.Text += "but not actually deleted:<br><br>"
      For Each dgItem in dtgCusts.Items
        chkSelected = dgItem.FindControl("chkSelection")
        If chkSelected.Checked Then
          strCompanyName = CType(dgItem.FindControl("lblCompanyName"), Label).Text
          strCustomerID = CType(dgItem.FindControl("lblCustomerId"), Label).Text
          lblSelections.Text += "Company Name: <b>" & strCompanyName & "</b> | " 
          lblSelections.Text += "Customer ID: <b>" & strCustomerID & "</b><br>" 
        End If
      Next
    End Sub


Eenvoudiger kan ik het zelf niet zeggen..... 'k kan me best voorstellen dat het te hoog gegrepen is, aangezien dit een probleem is wat imho niet tot de basiskennis behoort.

Geen optie om de opdracht terug te geven aan die ander, of een externe het te laten oplossen?

[ Voor 33% gewijzigd door gorgi_19 op 24-01-2004 12:59 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • CrazyFool
  • Registratie: Januari 2004
  • Laatst online: 10:08
Ok ik ben iets verder gekomen alleen loop ik nu stuk op de volgende foutmelding

code:
1
2
3
4
5
Line 106:      For Each dgItem in dgVoorraad.Items
Line 107:        chkSelected = dgItem.FindControl("chkSelection")
Line 108:        If chkSelected.Checked Then
Line 109:          strCompanyName = CType(dgItem.FindControl("lblCompanyName"), Label).Text
Line 110:          strCustomerID = CType(dgItem.FindControl("lblCustomerId"), Label).Text


Uit de bovenstaande functie
hier is hij ook te zien
spam

en dan even op die knop drukken


Trouwens ik het het idee
dat dat die javascripts niet werken :S

[ Voor 18% gewijzigd door whoami op 24-01-2004 13:51 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:01

gorgi_19

Kruimeltjes zijn weer op :9

Je checkbox heeft niet als ID "chkSelection"

En geef voortaan de foutmelding en precieze regel er bij, als je wilt.

Ow ja, alvast voor je volgende foutmeldingen die gaan komen... Je hebt heel waarschijnlijk ook geen label die lblCompanyName en ook geen label die lblCustomerId heet.
Trouwens ik het het idee
dat dat die javascripts niet werken :S
Ik weet wel zeker dat ze niet werken....

[ Voor 124% gewijzigd door gorgi_19 op 24-01-2004 13:31 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • CrazyFool
  • Registratie: Januari 2004
  • Laatst online: 10:08
Bedankt!!

Nu die irritante rot javascriptjes nog!
Grrrr

//Whoami dat was geen spam hoor. Dat is gewoon de url waar ik mijn project op dit moment ben aan het developpen.

[ Voor 50% gewijzigd door CrazyFool op 24-01-2004 13:54 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Wel leuk trouwens dat je je IP adres, username en admin-paswoord mee post. Ik zal het maar ff voor jou wegeditten.
Daarnaast vind ik het zowiezo niet slim dat je je gebruikers laat aanloggen aan de DB met een admin account.

Kijk voor die javascripts eens in de .NET help, en zoek naar de RegisterClientScriptBlock method, en naar de Attributes collection van de webcontrols.

Daarnaast gaat dit eigenlijk wel een beetje te ver. We willen je best helpen, maar debuggen moet je toch wel zelf kunnen. Daarnaast adviseer ik je ook dat je eerst (VB).NET leert, en dan verder doet ipv verder te prutsen en niet goed weten waar je eigenlijk mee bezig bent.
Programmeren is wel meer dan wat code-knipsels die je hier en daar vind samenvoegen, en dan maar hopen dat het werkt.
Kijk eens in de P&W FAQ, daar staan een hoop goeie boeken die ik je kan aanraden als je verder wilt met .NET en ASP.NET. Als je de basis mist, zal je nl. grandioos de mist in gaan.

[ Voor 29% gewijzigd door whoami op 24-01-2004 13:58 ]

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.