Έχω εργαστεί σε ένα web app χρησιμοποιώντας ASP.NET με τον κωδικό βάσης όπως C #. Έχω ένα δυναμικό πίνακα που αλλάζει μέγεθος βασίζεται σε μια επιστροφή από ένα ερώτημα SQL? με ένα πλαίσιο ελέγχου προστίθενται στο τρίτο κύτταρο της κάθε σειράς. Το πλαίσιο ελέγχου εκχωρείται ένα αναγνωριστικό σύμφωνα με ένα δείκτη και την ημερομηνία.
Όταν οι χρήστες χτύπησε το κουμπί υποβολής, ο κωδικός υποτίθεται για να πάρει μια τιμή από κάθε σειρά που ελέγχεται. Ωστόσο, όταν looping μέσα από τις γραμμές, κανένα από τα πλαίσια ελέγχου έχουν ποτέ τιμή ισχύει για το ελεγμένο ιδιοκτησίας. Η ταυτότητα παραμένει, αλλά η αξία του πλαισίου ελέγχου φαίνεται να χάνεται.
Κώδικας για την προσθήκη πλαίσια ελέγχου:
cell = new TableCell();
CheckBox cb = new CheckBox();
cell.ApplyStyle(TS);
cb.ID = index.ToString() + + lstDate.SelectedItem.Text.ToString();
if (reader[RestartStatus].ToString() == 0)
{
cb.Checked = false;
cb.Enabled = true;
}
else
{
cb.Checked = true;
}
cell.Controls.Add(cb);
Ο κωδικός για να πάρει την τιμή κουτάκι:
for (int i = 0; i < CompTable.Rows.Count; i++)
{
int t3 = CompTable.Rows[i].Cells[2].Controls.Count;
Control temp = null;
if (t3 > 0)
{
temp = CompTable.Rows[i].Cells[2].Controls[0];
}
string t2 = i.ToString() + + lstDate.SelectedItem.Text.ToString();
if ( temp != null && ((CheckBox)temp).ID == i.ToString() + + lstDate.SelectedItem.Text.ToString())
{
//Separated into 2 if statements for debugging purposes
//ID is correct, but .Checked is always false (even if all of the boxes are checked)
if (((CheckBox)temp).Checked == true)
{
tlist.Add(CompTable.Rows[i].Cells[0].Text.ToString());
}
}
}













