Я использую GridView, как этотReference поле из класса не создает столбец
<asp:GridView CssClass="table table-striped table-bordered table-condensed"
ID="gvDatos" runat="server" DataKeyNames="IdIngrediente" AllowPaging="True" PageSize="4"
onselectedindexchanged="GridView_SelectedIndexChanged" onrowcreated="gvDatos_RowCreated" onpageindexchanging="gvDatos_PageIndexChanging">
Это код, который связывает данные
List<Ingrediente> listaIngredientes = GestorABMCIngredientes.BuscarPorNombre(txtIngBuscar.Text);
gvDatos.DataSource = listaIngredientes;
string[] claves = { "IdIngrediente"};
gvDatos.DataKeyNames = claves;
gvDatos.DataBind();
И мой класс Ingrediente
public class Ingrediente
{
public int IdIngrediente { get; set; }
public string Nombre { get; set; }
public UnidadMedida unidadMedida { get; set; }
public int stock { get; set; }
public double costoUnitario { get; set; }
public bool requiereFrio { get; set; }
}
Все поля Ingrediente генерируют столбцы должным образом, за исключением unidadMedida, тот, который не относится к типу i nt, string, double, bool и т. д.
Мне тоже хотелось бы получить столбец для этого поля с помощью метода ToString() объекта (или любого свойства класса UnidadMedida, я обойдусь).
Я думал о создании нового класса IngredienteForGridView
, который имеет строковое поле вместо типа UnidadMedida, но я бы предпочел избежать этого, если смогу.
Снимок экрана, как отображается мой GridView. Обратите внимание, что я изменил текст заголовка столбца, и я скрыл идентификатор columnd (это единственная колонка, которую я скрываю, и эта проблема существовала еще до того, как я применил скрытие столбцов) Отсутствует колонка unidadMedida (из row.cells count Я выводил, что он не сгенерирован)
Созданы ли ваши столбцы? – Bharadwaj
Да, они автогенерируются – Blueriver