¿Cómo usar C# para obtener el nombre de la columna en la base de datos y mostrarlo en la cuadrícula de datos?
Código de control DataGrid en .aspx: (Lo hice antes, sin cambiar las filas y columnas, compruébalo tú mismo, es bastante sencillo cambiarlo)
lt; cuadrícula de datos
id="ProductItemList"
runat="servidor"
BorderColor="#E0E0E0"
Ancho="80"
AutoGenerateColumns="False"
BorderStyle="Solid"
OnDeleteCommand="Delete"
DataKeyField="ProductId" p >
AllowSorting="True"
OnSortCommand="Sort"gt;
lt;ItemStyle HorizontalAlign="Center"gt;lt;/ItemStylegt;
lt;HeaderStyle
HorizontalAlign="Centro"
Altura="20px"
BackColor="#ECEDF0"gt;
lt;/HeaderStylegt;
lt;Columnsgt;
lt;asp: BoundColumn
DataField="ProductId"
HeaderText = "Id. del producto"
SortExpression="ProductId"gt;
lt;/asp:BoundColumngt;
lt;asp:BoundColumn
DataField="SortName"
HeaderText="Ordenar nombre"
SortExpression="SortName"gt;
lt;/asp:BoundColumngt; p >
lt; asp: BoundColumn
DataField="ProductName"
HeaderText="Nombre del producto"
SortExpression="ProductName"gt;
p>
lt;/asp:BoundColumngt;
lt;asp:BoundColumn
DataField="ProductPrice"
HeaderText ="Precio del producto"
DataFormatString="{0:C}"
SortExpression="ProductPrice"gt;
lt;/asp:BoundColumngt;
lt; asp: TemplateColumn HeaderText="Editar"gt;
lt; ItemStyle
HorizontalAlign="Centro"
Ancho=" 100px"
CssClass="grid-edit-column"gt;
lt;/ItemSt
ylegt;
lt;ItemTemplategt;
lt;a
href="ProductUpdate.aspx?ProductId=lt;#DataBinder.Eval(Container.DataItem, "
ProductId")gt;"gt;
lt;img src="../images/icon-pencil.gif" border="0"gt;
lt;/agt;
lt;img src="../images/shim.gif" width="6"gt;
lt;asp:imagebutton
Runat="servidor"
ImageUrl="../images/icon-delete.gif"
CommandName="Eliminar"
CausesValidation="False"
ID="CatDeleteButton"gt;
lt;/asp:imagebuttongt;
lt;/ItemTemplategt;
lt;/asp:TemplateColumngt;
lt;/Columnsgt;
lt;/asp:datagridgt;
Control en .aspx.cs , declaración de variables y definición de métodos
protected System.Web.UI.WebControls.DataGrid ProductItemList;
protected iProduct.Business.Product myProduct = new
iProduct. Business.Product();
cadena protegida SortField;
Page_Load vacío privado (remitente del objeto, System.EventArgs e)
{
if (!IsPostBack)
{
if (SortField == "")
{
SortField = "ProductId ";
}
BindProduct();
}
}
vacío privado BindProduct()
{
DataSet ds = myProduct.GetAllWithSortName();
DataTable dt = ds.Tables["iproduct_product"];
DataView dv = nuevo DataView(dt);
dv.Sort = SortField;
ProductItemList.DataSource = dv;
ProductItemList.DataBind();
}
//Eliminar registros
public void Eliminar(Remitente del objeto, DataGridCommandEventArgs e)
<p>{
( ProductItemList.DataKeys[(int)e.Item.ItemIndex]
myProduct.Delete()
BindProduct();
}
//Método de clasificación de datos
protected void Sort(Remitente del objeto, DataGridSortCommandEventArgs e)
{
SortField = (cadena)e.SortExpression;
BindProduct();
}