elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: 1 2 [3]
21  Programación / .NET (C#, VB.NET, ASP) / Index was out of range. Must be non-negative and less than the size of the colle en: 21 Mayo 2015, 04:48 am
Hola, como les va, disculpen que los moleste, me comunico con Uds. a los fines de consultarles sobre el Error que encabeza este foro:

sucede que el mismo se dispara al compilar, y si toco el Edit Item del GridView, el cual arranca en -1, no me soluciona el tema, sino, por el contrario, se aleja de la consecusión de la solución..........

El Error se dispara en esta línea.......(asteriscos y ViewState[]),

El GridView consta de la Columna de Select, y 2 columnas (Año y Sección)........

El tema es saber el por que de este error, y si fuera factible, la forma de solucionarlo.......

Sin mas que agregar, aprovecho la oportunidad de saludarlos muy atte.....

Código
  1. protected
  2.  
  3. void GridCurso_SelectedIndexChanged(object sender, EventArgs e)
  4.  
  5.        {        
  6.  
  7.  
  8. // Se obtiene la fila seleccionada del gridview          
  9.  
  10.  
  11. GridViewRow row = GridCurso.SelectedRow;            
  12.  
  13.  
  14. // Obtengo el id de la entidad que se esta editando          
  15.  
  16.  
  17. // en este caso de la entidad Curso
  18.  
  19.  
  20. *********ViewState["idCurso"] = Convert.ToInt32(GridCurso.DataKeys[row.RowIndex].Value);*********
  21.  
  22.  
  23. //int fila = Convert.ToInt32(GridCurso.DataKeys[row.RowIndex].Value);
  24.  
  25.  
  26.            CargarData();
  27.  
  28.        }
  29.  
  30.  
22  Programación / .NET (C#, VB.NET, ASP) / "No se puede agregar o cambiar el registro porque se necesita un registro relaci en: 9 Abril 2015, 01:29 am
Tengo un GridView con Nombres y Apellidos de Alumnos de un Institución, obtenidos de la Tabla Alumno (El Grid View toma el Id de lo seleccionado con DataKeyNames al igual que los otros GridsView, asi, luego de seleccionar Alumno del GridAlumno, se debe seleccionar el Curso del GridCurso, aquí, luego de la anterior acción, se despliega el GridMaterias con CheckBoxs en el Template, con lo cual yo puedo elegir la Materia o Materias de manera individual, a las cuales me quiero inscribir)..................Asi, con lo seleccionado con este nuevo GridView, mas lo seleccionado con los otros GridsView, me da el mismo error:

"No se puede agregar o cambiar el registro porque se necesita un registro relacionado en la tabla 'Alumno'."

Aquí dejo código a los fines de si Uds. pueden determinar el error, o la forma correcta de sintaxis para que funcione, lo acrediten por este medio, etc.......

Disculpen las molestias, estare siempre agradecido, nos vemos....


Código
  1. protected void Page_Load(object sender, EventArgs e)
  2.        {
  3.            AccesoLogicaM b = new AccesoLogicaM();
  4.            GridCursos.DataSource = b.fillGridView("Select Id_Curso, Año, sección From Curso");
  5.            GridCursos.DataBind();
  6.  
  7.            GridAlumno.DataSource = b.fillListView("Select Id_Alumno, Nombre, Apellido From Alumno Order By Nombre Asc");
  8.            GridAlumno.DataBind();
  9.  
  10.        }
  11. protected void GridCursos_SelectedIndexChanged(object sender, EventArgs e)
  12.        {
  13.            // Se obtiene la fila seleccionada del gridview
  14.  
  15.            GridViewRow row = GridCursos.SelectedRow;
  16.  
  17.            // Obtengo el id de la entidad que se esta editando
  18.            // en este caso de la entidad Curso
  19.            ViewState["idCurso"] = Convert.ToInt32(GridCursos.DataKeys[row.RowIndex].Value);
  20.            CargarData();
  21.        }
  22.        private void CargarData()
  23.        {
  24.            string connection = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
  25.            OleDbConnection cnn = new OleDbConnection(connection);
  26.            string SQL = string.Empty;
  27.            SQL = ("SELECT M.Id_Materia, M.Nombre FROM Materias M, CursosMaterias cm WHERE cm.id_Materia = M.Id_Materia AND cm.id_Curso = @View");
  28.            OleDbCommand comando = new OleDbCommand(SQL, cnn);
  29.            comando.CommandType = CommandType.Text;
  30.            cnn.Open();
  31.            comando.Parameters.Clear();
  32.            comando.Parameters.AddWithValue("@View", (ViewState["idCurso"]));
  33.            DataTable tabla = new DataTable();
  34.            OleDbDataAdapter Adaptador = new OleDbDataAdapter(comando);
  35.            Adaptador.Fill(tabla);
  36.            GridInscMaterias.DataSource = tabla;
  37.            GridInscMaterias.DataBind();
  38.            cnn.Close();
  39.        }
  40.  
  41.        protected void GridInscMaterias_SelectedIndexChanged(object sender, EventArgs e)
  42.        {
  43.  
  44.        }
  45.        protected void ButtonTodas_Click(object sender, EventArgs e)
  46.        {
  47.            foreach
  48.            (GridViewRow dgi in GridInscMaterias.Rows)
  49.            {
  50.                CheckBox myCheckBox = dgi.Cells[0].Controls[1] as CheckBox;
  51.  
  52.                if (myCheckBox != null)
  53.                {
  54.  
  55.                    if (myCheckBox.Checked == true)
  56.                    {
  57.                        ViewState["idMateria"] = GridInscMaterias.DataKeys[dgi.RowIndex][0].ToString();
  58.  
  59.                        {
  60.                            string cadenaConexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
  61.                            OleDbConnection cnn = new OleDbConnection(cadenaConexion);
  62.                            cnn.Open();
  63.                            string SQL = string.Empty;
  64.                            SQL = ("SELECT id_cursoMateria From CursosMaterias cm Where cm.id_Curso = @idCurso AND cm.id_Materia = @idMateria");
  65.  
  66.                            ViewState["idCursoMateria"] = SQL;
  67.  
  68.                            string sql = string.Empty;
  69.                            sql = @"INSERT INTO AlumMatCursos (Id_Alumno, id_cursoMateria)
  70.                                VALUES (@idAlumno, @idcurMat)";
  71.                            OleDbCommand cmd = new OleDbCommand(sql, cnn);
  72.                            cmd.Parameters.AddWithValue("@idCurso", (ViewState["idCurso"]));
  73.                            cmd.Parameters.AddWithValue("@idMateria", (ViewState["idMateria"]));
  74.                            cmd.Parameters.AddWithValue("@idAlumno", (ViewState["idAlumno"]));
  75.                            cmd.Parameters.AddWithValue("@idcurMat", (ViewState["idCursoMateria"]));
  76.                            cmd.ExecuteNonQuery();
  77.                            cnn.Close();
  78.                            lblMensaje.Text = "Se registraron correctamente en BD!";
  79.                        }
  80.                    }
  81.                }
  82.            }
  83.        }
  84.  
  85.        protected void GridAlumno_SelectedIndexChanged(object sender, EventArgs e)
  86.        {
  87.            // Se obtiene la fila seleccionada del gridview
  88.  
  89.            GridViewRow row = GridAlumno.SelectedRow;
  90.  
  91.            // Obtengo el id de la entidad que se esta editando
  92.            // en este caso de la entidad Curso
  93.            ViewState["idAlumno"] = Convert.ToInt32(GridAlumno.DataKeys[row.RowIndex].Value);
  94.        }
  95.    }
  96. }
  97.  
23  Programación / .NET (C#, VB.NET, ASP) / Error de Compilacion (No me toma SelectedItem de DropDownList) en: 3 Marzo 2015, 04:31 am
Hola, como les va..............cuando compilo para probar como funciona el código para llenar una tabla, cuando arribo a esta parte del Codigo, me da el siguiente Error:


Código:
Compiler Error Message: CS0029: Cannot implicitly convert type 'System.Web.UI.WebControls.ListItem' to 'System.Web.UI.WebControls.DropDownList'

Source Error:
 
Código:
Line 140:            // Se obtiene la fila seleccionada del DropDownList
Line 141:
Line 142:  DropDownList drop = DropDownNombre.SelectedItem;(Aquí el error)
Line 143:
Line 144:            // Obtengo el id de la entidad que se esta editando



Aquí el código cuestionado:

 
Código


Código
  1.  
  2. protected void DropDownNombre_SelectedIndexChanged(object sender, EventArgs e)
  3.  
  4.       {
  5.  
  6. // Se obtiene la fila seleccionada del DropDownList
  7.  
  8.           DropDownList drop = DropDownNombre.SelectedItem;
  9.  
  10. // Obtengo el id de la entidad que se esta editando
  11.  
  12. // en este caso de la entidad Curso
  13.  
  14.  
  15.  
  16. ViewState["idNombre"] = Convert.ToInt32(drop.SelectedItem);
  17.  
  18. }
  19.  
  20.  


este es el problema, la intención es tomar el Id de la Tabla del Ítem seleccionado..................

si alguien sabe cual es el problema, o el código adecuado, o como se soluciona, les agradecería su aporte.......

Sin mas que agregar, espero vuestra devolución, saludos....
24  Programación / Programación C/C++ / Error de Compilacion (No me toma SelectedItem de DropDownList) en: 2 Marzo 2015, 03:41 am
 :rolleyes:



Hola, como les va..............cuando compilo para probar como funciona el código para llenar una tabla, cuando arribo a esta parte del Codigo, me da el siguiente Error:


Compiler Error Message: CS0029: Cannot implicitly convert type 'System.Web.UI.WebControls.ListItem' to 'System.Web.UI.WebControls.DropDownList'

Source Error:
 
Line 140:            // Se obtiene la fila seleccionada del DropDownList
Line 141:
Line 142:  DropDownList drop = DropDownNombre.SelectedItem;(Aquí el error)
Line 143:
Line 144:            // Obtengo el id de la entidad que se esta editando
 


Aquí el código cuestionado:


 
Código
  1.  
  2. protectedvoidDropDownNombre_SelectedIndexChanged(objectsender, EventArgse)
  3.  
  4.        {
  5.  
  6.  
  7.  
  8.  
  9. // Se obtiene la fila seleccionada del DropDownList
  10.  
  11.  
  12.  
  13.  
  14.  
  15. DropDownListdrop = DropDownNombre.SelectedItem;
  16.  
  17.  
  18.  
  19.  
  20. // Obtengo el id de la entidad que se esta editando
  21.  
  22.  
  23.  
  24.  
  25.  
  26. // en este caso de la entidad Curso
  27.  
  28.  
  29.  
  30.  
  31. ViewState["idNombre"] = Convert.ToInt32(drop.SelectedItem);
  32.  
  33.  
  34.  
  35.  }
  36.  
  37.  
este es el problema, la intención es tomar el Id de la Tabla del Ítem seleccionado..................

si alguien sabe cual es el problema, o el código adecuado, o como se soluciona, les agradecería su aporte.......

Sin mas que agregar, espero vuestra devolución, saludos....

 


hace 2 minutos


 Responder  

|

 Citar  

|

 Eliminar  






 
  
 



 






 


0 Puntos



25  Programación / .NET (C#, VB.NET, ASP) / Llenar GridView con datos relacionados de seleccionGridView anterior, en c#.Net en: 15 Febrero 2015, 23:37 pm
Como les va, disculpen que los moleste, pero debo llenar un GridViewMateria con Id_Materia y Nombre de la Materia de la Tabla Materias, de acuerdo con el Curso seleccionado en un GridViewCurso anterior..............La única relación entre el Curso seleccionado y el Nombre e Id_Materia de la Materia de la Tabla Materias es la Tabla CursosMaterias, ............. ;-) ;-)a la cual supongo debo apelar para filtrar el Nombre de la Materia y su Id_Materia por de acuerdo al Curso seleccionado.....................Tengo un SELECT con INNER JOIN para Igualar el Id_Materia de la Tabla Materia y el id_Materia de la Tabla CursosMaterias a los fines de que este ultimo id_Materia sea de acuerdo al id_Curso seleccionado en el GridCurso, por consiguiente, el Id_Materia y el Nombre de la Materia de la Tabla Materias, será filtrado con el Curso seleccionado de la Tabla CursosMaterias.............(Espero que este bien todo).......
 ....(Utilizo ViewState a los fines de captar el Id_Curso del GridCurso)........

Quedaria lo siguiente:

Código
  1. protected void GridCursos_SelectedIndexChanged(object sender, EventArgs e)
  2. {
  3.  
  4. // Se obtiene la fila seleccionada del gridview
  5. GridViewRow row = GridCursos.SelectedRow;
  6.  
  7. // Obtengo el id de la entidad que se esta editando
  8. // en este caso de la entidad Curso
  9. ViewState["idCurso"] = Convert.ToInt32(GridCursos.DataKeys[row.RowIndex].Value);
  10.  
  11. // Aquí lleno el GridInscMaterias
  12. AccesoLogicaCursoMateria b = new AccesoLogicaCursoMateria();
  13. GridInscMaterias.DataSource = b.fillGridView("SELECT Id_Materia, Nombre FROM Materias INNER JOIN CursosMaterias ON id_Materia.CursosMaterias = Id_Materia.Materias Where id_Curso.CursosMaterias =" + ViewState["idCurso"]);
  14. GridInscMaterias.DataBind();
  15.  
  16. }

 La cuestión es que asi no se esta llenando el GridInscMaterias, y quedaría ver si Uds. logran visualizar el error en este procedimiento y aportar la solución, u otra forma de hacerlo, también, cual seria es forma.....

 Desde ya quedo muy agradecido a Uds..................Espero sus devoluciones, nos vemos.. ;-)



[MOD]: Utiliza las etiquetas GeShi para insertar código, porfavor leer las normas del foro.
Páginas: 1 2 [3]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines