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
codice:
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();
}
}
aspx
codice:
<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>
grazie mille