Foros del Web » Programando para Internet » ASPX (.net) »

Generar Checkbox dentro de DataTable

Estas en el tema de Generar Checkbox dentro de DataTable en el foro de ASPX (.net) en Foros del Web. Buenas tardes... Quisiera saber si hay alguna forma de generar un checkbox dentro de un Datatable para luego poderlo seleccionar. Estoy manejando unos archivos por ...
  #1 (permalink)  
Antiguo 27/10/2015, 13:52
Avatar de laviky65  
Fecha de Ingreso: diciembre-2014
Mensajes: 19
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta Generar Checkbox dentro de DataTable

Buenas tardes...
Quisiera saber si hay alguna forma de generar un checkbox dentro de un Datatable para luego poderlo seleccionar.

Estoy manejando unos archivos por un servidor FTP.
Primero listo los archivos que existan en el directorio y luego genero el DataTable para llenar un GridView.

Código C#:
Ver original
  1. try
  2.             {
  3.                 //LISTAR ARCHIVOS
  4.                 FtpWebRequest dirFtp = ((FtpWebRequest)FtpWebRequest.Create(server));
  5.  
  6.                 // Los datos del usuario (credenciales)
  7.                 NetworkCredential cr = new NetworkCredential(usr, pass);
  8.                 dirFtp.Credentials = cr;
  9.  
  10.                 // También usando la enumeración de WebRequestMethods.Ftp
  11.                 dirFtp.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
  12.  
  13.                 //Fetch the Response and read it using StreamReader.
  14.                 FtpWebResponse response = (FtpWebResponse)dirFtp.GetResponse();
  15.                 List<string> entries = new List<string>();
  16.                 using (StreamReader reader = new StreamReader(response.GetResponseStream()))
  17.                 {
  18.                     //Read the Response as String and split using New Line character.
  19.                     entries = reader.ReadToEnd().Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList();
  20.                 }
  21.  
  22.                 // Cerrar el stream abierto.
  23.                 response.Close();
  24.                
  25.                 DataTable dtFiles = new DataTable();
  26.                 dtFiles.Columns.AddRange(new DataColumn[2]
  27.                 {
  28.                     new DataColumn("Name", typeof(string)),
  29.                     new DataColumn("Check", typeof(System.Web.UI.WebControls.CheckBox))
  30.                 });
  31.                
  32.  
  33.                 //Loop and add details of each File to the DataTable.
  34.                 foreach (string entry in entries)
  35.                 {
  36.                     string[] splits = entry.Split(new string[] { " ", }, StringSplitOptions.RemoveEmptyEntries);
  37.  
  38.                     //Determine whether entry is for File or Directory.
  39.                     bool isFile = splits[0].Substring(0, 1) != "d";
  40.                     bool isDirectory = splits[0].Substring(0, 1) == "d";
  41.  
  42.                     //If entry is for File, add details to DataTable.
  43.                     if (isFile)
  44.                     {
  45.                         dtFiles.Rows.Add();
  46.                         DataRow dr = dtFiles.NewRow();
  47.                         System.Web.UI.WebControls.CheckBox ck = new System.Web.UI.WebControls.CheckBox();
  48.                         ck.Checked = false;
  49.                         dr["Check"] = ck;
  50.                         string name = string.Empty;
  51.                         for (int i = 8; i < splits.Length; i++)
  52.                         {
  53.                             name = string.Join(" ", name, splits[i]);
  54.                         }
  55.                         dtFiles.Rows[dtFiles.Rows.Count - 1]["Name"] = name.Trim();
  56.                     }
  57.                 }
  58.                
  59.                 GridView1.DataSource = dtFiles;
  60.                 GridView1.DataBind();
  61.  
  62.             }
  63.             catch (Exception ex)
  64.             {
  65.  
  66.                 throw;
  67.             }


Les confirmo, por cada archivo necesito un CheckBox habilitado para luego poderlo seleccionar...

Hasta ahora no me funciona pero he buscado varias formas de solucionarlo y no he podido por ninguno de los medios...
Si alguien tiene una solución estaría muy agradecida :D

Última edición por laviky65; 27/10/2015 a las 13:53 Razón: Corrección
  #2 (permalink)  
Antiguo 27/10/2015, 15:53
Avatar de alan_69niupi  
Fecha de Ingreso: junio-2011
Mensajes: 200
Antigüedad: 13 años, 5 meses
Puntos: 17
Respuesta: Generar Checkbox dentro de DataTable

Hola,
Creo que sería mejor poner el Check en el GridView y no en el DataTable, sería más fácil de controlarlo.

Saludos!!!
  #3 (permalink)  
Antiguo 27/10/2015, 16:08
Avatar de laviky65  
Fecha de Ingreso: diciembre-2014
Mensajes: 19
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Generar Checkbox dentro de DataTable

Cita:
Iniciado por alan_69niupi Ver Mensaje
Hola,
Creo que sería mejor poner el Check en el GridView y no en el DataTable, sería más fácil de controlarlo.

Saludos!!!
Hola Gracias por responder.

He intentado ponerle el "TemplateField" al Gridview pero me genera error al intentar poner el DataTable como la fuente de datos, por eso estoy intentando generar el control desde la parte trasera del código
  #4 (permalink)  
Antiguo 27/10/2015, 16:28
Avatar de alan_69niupi  
Fecha de Ingreso: junio-2011
Mensajes: 200
Antigüedad: 13 años, 5 meses
Puntos: 17
Respuesta: Generar Checkbox dentro de DataTable

Hola crealo de esta manera
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox id="chkCheck" runat="server"/>
</ItemTemplate>
</asp:TemplateField>

Espero te ayude

Saludos!!!
  #5 (permalink)  
Antiguo 27/10/2015, 16:37
Avatar de laviky65  
Fecha de Ingreso: diciembre-2014
Mensajes: 19
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Generar Checkbox dentro de DataTable

Cita:
Iniciado por alan_69niupi Ver Mensaje
Hola crealo de esta manera
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox id="chkCheck" runat="server"/>
</ItemTemplate>
</asp:TemplateField>

Espero te ayude

Saludos!!!
Si de hecho tengo varios muy similares pero si notas, en la parte del código donde creo el Datatable ya tiene cierto nro de columnas, luego el ciclo que trae el nombre de los archivos... ya intenté con la plantilla que me indicas, y no me sirve... voy a buscar otros métodos y te cuento cuando lo solucione.

y solo para que sepan, No me funciona tirar los TemplateField en el gridview.

Igual muchas gracias.

Etiquetas: checkbox, datatable, gridview, server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:13.