2017-10-10 5 views
0

Intermediate Programmierer hier mit Visual Studio 2010 und tut alles in VB nicht C#.einen Wert aus einer Spalte, wenn eine Checkbox (in einer anderen Spalte) ist zu überprüfen

Haben Sie eine 15-Säule GridView1. Auto-Select belegt die Spalte [0]. Spalte [1] haben einen JobNumber-Wert, der für jede Zeile unterschiedlich ist. Spalte [14] hat ein Vorlagenfeld mit einer einzelnen CheckBox1 pro Zeile.

Ich brauche den Wert von Spalte zu erhalten [1], wenn Spalte [14] überprüft. Ich kann das Auftreten der Checkbox erhalten diesen Code verwenden:

For Each row As GridViewRow In GridView1.Rows 
    Dim result As Boolean = DirectCast(row.FindControl("CheckBox1"), CheckBox).Checked 
Next 

Dieser Code funktioniert zu finden, welche Zeile ein kariertes Feld hat. Das Problem, auf das ich keine Antwort gefunden habe, ist, wie der Code ausgeführt wird und wie die Zeilen gefunden werden. Wie bekomme ich den in Spalte [1] angezeigten Wert für jede gefundene Zeile mit einem aktivierten Kontrollkästchen?

Sein vermutlich vor dieser Frage von mir beantwortet, aber ich Terminologie falsch haben und die falsche Frage bin nur zu fragen.

Vielen Dank!

+0

Mit dem Code, wie Sie vorgeschlagen, schrieb ich dies für jede Zeile Wie GridViewRow In GridView1.Rows Dim mylist A New List (Of String) ‚die Zeilen finden, die Dim Ergebnis As Boolean geprüft = DirectCast (row.FindControl ("CheckBox_Assign"), CheckBox) .Checked 'Wenn eine Zeile ein Kontrollkästchen hat, wird der Wert der Zelle [1] abgerufen Wenn Ergebnis = True Dann myLIst.Add (row.Cells (1 .Text)) End If ‚sehen Sie, wenn Sie etwas bekam Response.Write (myList) Weiter – CVensel

Antwort

0

Manipulieren des geringstmöglichem mit Ihrem Code, könnte diese Arbeit?

Dim myList As New List(Of String) 
    For Each row As GridViewRow In GridView1.Rows 
     Dim result As Boolean = DirectCast(row.FindControl("CheckBox1"), CheckBox).Checked 
     If result Then myList.Add(row.Cells(1).Text) 
    Next 
    'myList will now contain desired values 
+0

Wenn ich Response.Write (myLIst), um zu sehen, was der Code herausgezogen, bekomme ich dies für jedes Kontrollkästchen aktiviert ... System.Collections.Generic.List'1 [System.String]. Ich musste myList nie benutzen und bin mir nicht sicher, ob ich es jetzt richtig verwende. Gibt es weitere Hilfe, um den Wert von Zelle [1] in einer Zeile zu ziehen, in der die Spalte mit einem Kontrollkästchen ausgewählt ist? Danke – CVensel

+0

Ok, wie heißt das Steuerelement in Spalte [1]? – VBobCat

+0

Wir machen Plattenformmaschinen. Jede Maschine hat eine Auftragsnummer (ID-Nummer), die wie [26650.000] formatiert ist. GridView1 zeigt alle noch nicht ausgelieferten Maschinen mit diesen Jobnummern (eine pro Zeile) in Zelle [1] an. Die Informationen stammen aus einer SQL-Datenbank mit der Bezeichnung [JobMast] und aus einer Spalte namens [JobNum]. Es ist kein riesiges Display mit 40 bis 100 gleichzeitig in GridView1 aufgelisteten Maschinen. Sobald die gewünschten Kontrollkästchen aktiviert sind, verwende ich einen Klick auf die Schaltfläche, um den Aktualisierungsprozess einer anderen Tabelle mit den gerade gesammelten Jobnummern zu starten. Hoffe, das erklärt, worum du gebeten hast. Danke für die Hilfe. – CVensel

Verwandte Themen