ASP. NET. Object Data Source 2

Anuncio
ASP. NET.
Object Data Source 2
ASP. NET. Object Data Source
ASP. NET. Object Data Source
ASP. NET. Object Data Source
ASP. NET. Object Data Source
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
DeleteMethod="DeleteSubCategoria" InsertMethod="InsertSubCategoria"
SelectMethod="FiltrarSubCategoria" TypeName="ClaseSubCategorias"
UpdateMethod="UpdateSubCategoria">
<DeleteParameters>
<asp:Parameter Name="Codigo" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Codigo" Type="Int32" />
<asp:Parameter Name="Nombre" Type="String" />
<asp:Parameter Name="IdCategoria" Type="Int32" />
<asp:Parameter Name="Ciencias" Type="Boolean" />
</InsertParameters>
ASP. NET. Object Data Source
Modificar
ASP. NET.
Grid View
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Listar datos.
ASP. NET. GridView. Listar datos.
Añadir columna
Editar columna
ASP. NET. GridView. Listar datos.
Editar columna
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Eliminar.
Pero si queremos que realmente borre es MUY importante indicar la columna índice con la
propiedad DataKeyNames
ASP. NET. GridView. Eliminar.
Confirmar borrado.
ASP. NET. GridView. Eliminar.
Confirmar borrado.
En realidad esto se tendría que hacer por programación para determinar el idioma. Para ello
usamos el evento “PreRender” del control que dispara el delete.
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Modificar.
Pero si queremos que realmente actualice al pulsar sobre aceptar es MUY importante indicar la
columna índice con la propiedad DataKeyNames
ASP. NET. GridView. Modificar.
No queremos que edite
ASP. NET. GridView. Modificar.
No queremos que edite
ASP. NET. GridView. Modificar.
ASP. NET. GridView. Modificar.
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text=
'<%# Bind("IdCategoria") %>' onprerender="Label1_PreRender" >
</asp:Label>
</ItemTemplate>
protected void Label1_PreRender(object sender, EventArgs e)
{
Label m = (Label)sender;
m.Text = “Soy “ + m.Text;
}
ASP. NET. GridView. Ejercicio.
•
Se trata de trasformar IdCategoria usando la ClaseCategoria de un número a la descripción.
•
Hay que validar que cuando se edite nombre el texto tenga al menos 3 caracteres, en caso
contrario que de un aviso y que no deje actualizar.
ASP. NET. GridView. Ejercicio.
•
Se trata de trasformar IdCategoria usando la ClaseCategoria de un número a la descripción.
•
Hay que validar que cuando se edite nombre el texto tenga entre 3 y 50 caracteres, en
caso contrario que de un aviso y que no deje actualizar.
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Seleccionar.
double.Parse(GridView1.SelectedDataKey.Value.ToString())
OJO al GridView1.DataBind();
ASP. NET. GridView. Ejercicio.
Pensar cómo hacer una selección múltiple.
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Paginar.
ASP. NET. GridView. Paginar.
ASP. NET. GridView. Ejercicio.
Se sabe porque el linkButton está desactivado y enmarcado en rojo. Podemos ir a la primera
página (<<) o a la última (<<).
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Ordenar.
ASP. NET. GridView. Ordenar.
ObjectDataSource1.SelectParameters["campoOrden"].DefaultValue
= e.SortExpression.ToString();
e.Cancel = true;
ASP. NET. GridView. Ejercicio.
Con ayuda del parámetro “tipoOrden” que
tiene ObjectDataSource hacer que la
ordenación sea ascendente (el valor del
parámetro será “asc”)/descendente (el valor
del parámetro será “desc”) cada vez que se
vuelve a pulsar sobre una columna
ordenada.
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Insertar.
ASP. NET. GridView. Insertar.
ASP. NET. GridView. Insertar.
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
GridView1.DataBind();
if (e.CommandName == "Insertar")
{
GridView1.FooterRow.Visible = true;
((LinkButton)GridView1.BottomPagerRow.FindControl("Insertar")).Visible = false;
}
}
ASP. NET. GridView. Insertar.
if (e.CommandName == "InsAceptar")
{
ObjectDataSource1.Insert();
((LinkButton)GridView1.BottomPagerRow.FindControl("Insertar")).Visible = true;
//Con esta instrucción obligamos que GridView vaya a la última página
GridView1.PageIndex = GridView1.PageCount;
}
ASP. NET. GridView. Insertar.
protected void ObjectDataSource1_Inserting(object sender,
ObjectDataSourceMethodEventArgs e)
{
e.InputParameters["Nombre"] =
((TextBox)GridView1.FooterRow.FindControl("INombre")).Text;
e.InputParameters["Ciencias"] =
(((CheckBox)GridView1.FooterRow.FindControl("ICiencias")).Checked) ? "True" : "False";
e.InputParameters["IdCategoria"] =
((DropDownList)GridView1.FooterRow.FindControl("IIdCategoria")).SelectedValue;
GridView1.DataBind();
}
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Ejercicio.
Conseguir que pinchando sobre “Insertar el primero” aparezca una el footerRow con
el formulario para insertar el primer dato.
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Apariencia.
ASP. NET. GridView. Apariencia.
ASP. NET.
Grid View
Listar datos.
Eliminar
Modificar
Seleccionar
Paginar datos
Ordenar datos
Insertar
Sin datos
Apariencia
AJAX(filtrar)
ASP. NET. GridView. Ejercicio.
ASP. NET.
Gracias
MAS INFORMACIÓN (WEB)
http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.gridview.pagertemplate
%28v=vs.80%29.aspx
Descargar