buongiorno, ho un problemino.
io estraggo dei dati da un file txt e li carico in una gridview. nell'header di questa, aggiungo per ogni cella una checkbox. il problema è che ad ogni postback le checkbox scompaiono e non riesco a farle rimanere e quindi a sapere quali siano checkati e quali no.
questo è il codice che ho utilizzato:
aspx.cs
aspxcodice:public partial class data : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btUploadData_Click(object sender, EventArgs e) { string filePath = Request.PhysicalApplicationPath; filePath += "FileCaricati/"; openFileSelected(filePath); } protected void openFileSelected(string nomeFile) { string file_path = "FileCaricati/anagrafiche_2.txt"; /* percorso relativo del file*/ char[] tokens = new char[1] { char.Parse(";") }; DataTable dt = new DataTable("GridView1"); System.Collections.Generic.List<string> _rows = new System.Collections.Generic.List<string>(); using (System.IO.StreamReader rd = new System.IO.StreamReader(Server.MapPath(file_path))) { while (!rd.EndOfStream) { _rows.Add(rd.ReadLine()); } rd.Close(); } string[] _columns = _rows[0].Split(tokens); int i; for (i = 0; i < _columns.Length; i++) { _columns[i] = _columns[i] ; dt.Columns.Add(new DataColumn(_columns[i])); } for (i = 1; i < _rows.Count; i++) { DataRow rw = dt.NewRow(); string[] _cells = _rows[i].Split(tokens); if (_cells.Length > _columns.Length) { throw new Exception("Numero celle maggiore delle colonne alla riga " + i.ToString()); } int j; for (j = 0; j < _cells.Length; j++) { rw[j] = _cells[j]; } dt.Rows.Add(rw); } this.GridView1.DataSource = dt; this.GridView1.DataBind(); for (int k = 0; k < 4; k++) { CheckBox nameCb = new CheckBox(); nameCb.EnableViewState = true; nameCb.Text = GridView1.HeaderRow.Cells[k].Text; nameCb.ID = "nameCb" + k.ToString(); GridView1.HeaderRow.Cells[k].Controls.Add(nameCb); } string MyGridView = GridView1.ToString(); } }
grazie millecodice:<asp:Button ID="Button1" runat="server" Text="Button" /> <asp:Button ID="btUploadData" runat="server" Text="Conferma" OnClick="btUploadData_Click" /> <asp:GridView ID="GridView1" AutoGenerateColumns="true" runat="server"> <Columns></Columns> </asp:GridView>

Rispondi quotando