Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    recuperare valore checkbox da un datagrid

    Ho un Datagrid fatto cosi':
    codice:
     
    <Columns>
    
    <asp:BoundColumn DataField="ID" Visible="False"></asp:BoundColumn>
    
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:CheckBox ID="JobID_CheckBox" Runat="server" />
    </ItemTemplate>
    </asp:TemplateColumn>
    						
    <asp:BoundColumn DataField="Name"></asp:BoundColumn>
    	         
    </Columns>
    Ho poi un bottone esterno al datagrid.
    Cliccando sul bottone voglio recuperare dai checkbox selezionati gli ID corrispondenti (che stanno sulla prima colonna invisibile), quindi ho assegnato al comando associato al bottone il seguende codice:

    codice:
    foreach (DataGridItem i in PublishedJobs.Items) 
    {
    CheckBox UnpublishJobID = (CheckBox) i.FindControl ("JobID_CheckBox");
    	if (UnpublishJobID.Checked) 
    	{
    	TableCell itemCell = i.Cells[0];
    	string item = itemCell.Text;
    	// Concatenate DataGrid item with comma for SQL Delete
    	dgIDs += ((Literal)i.FindControl ("JobID")).Text.ToString()+",";
    	}
    }
    la stringa dgIDs mi dovrebbe ritornare gli ID e una virgola (tipo 2,4,5,...) ma invece non mi ritorna nulla!!!
    Dov'e' l'errore??
    We live thinking we will never die.
    We die thinking we had never lived.

  2. #2
    C'e' un errore, il secondo codice e' cosi':

    codice:
    foreach (DataGridItem i in PublishedJobs.Items) 
    {
    CheckBox UnpublishJobID = (CheckBox) i.FindControl ("JobID_CheckBox");
    if (UnpublishJobID.Checked) 
    {
    dgIDs += ((TableCell) i.Cells[0]).Text.ToString() + ",";
    }
    }
    Il problema rimane, non funge
    We live thinking we will never die.
    We die thinking we had never lived.

  3. #3
    Ma con

    dgIDs += ((TableCell) i.Cells[0]).Text.ToString() + ",";

    prendi il testo della cella 0 e non quello del checkbox.

    Domanda: la stinga è vuota o fatta da sole virgole?


    Ciao
    K
    Kalman

  4. #4
    grazie della risposta. Si a me interessava il testo della prima riga corrispondente al checkbox selezionato.
    Ho risolto il problema; dovevo bindare i dati su (!Page.IsPostBack) altrimenti non funzionava.
    Il codice postato e' OK.
    Grazie cmq della risposta
    We live thinking we will never die.
    We die thinking we had never lived.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.