「dd-MM-yyyy」で日付を選択するにはフォーマーターが必要ですが、取得できません。さまざまな方法でテストしましたが、どれも機能しません。フィールドのフォーマット: DtFabricacao. DataTable を使用しており、Linq prórpio で日付をフォーマットしたい
Linq は以下のとおりです。
public static ResultadoListagemPadrao Grid(string orderna, string ordenaTipo, string filtro, int filtroID = 0)
{
ERPContext db = new ERPContext();
var resultado = new ResultadoListagemPadrao();
var dados = db.ProdutoLote.ToListERP();
var where = "";
var id = 0;
resultado.TotalRegistros = dados.Count();
resultado.Dados =
(from a in dados.AsQueryable()
select new
{
a.ProdutoLoteID,
a.Lote,
a.Identificacao,
a.DtFabricacao,
a.DtValidade,
a.QtdeAtual,
a.QtdeEmUtilizacao
})
.Where(where, filtro)
.OrderBy(orderna + " " + ordenaTipo);
return resultado;
}
モデル:
public class ProdutoLote : IEntidadeBase
{
[Key]
public int ProdutoLoteID { get; set; }
public int ProdutoID { get; set; }
public string Lote { get; set; }
public string Identificacao { get; set; }
public string Detalhe { get; set; }
public DateTime? DtFabricacao { get; set; }
public DateTime? DtValidade { get; set; }
public decimal QtdeAtual { get; set; }
public decimal QtdeEmUtilizacao { get; set; }
public int EmpresaID { get; set; }
public string Fixo { get; set; }
public string Status { get; set; }
public string Apagado { get; set; }
public DateTime? DtApagado { get; set; }
public int UsuCad { get; set; }
public DateTime DtCad { get; set; }
public int UsuAlt { get; set; }
public DateTime DtAlt { get; set; }
public int UsuUltAlt { get; set; }
public DateTime DtUltAlt { get; set; }
[ForeignKey("UsuCad")]
public virtual Usuario UsuarioCad { get; set; }
[ForeignKey("UsuAlt")]
public virtual Usuario UsuarioAlt { get; set; }
[ForeignKey("UsuUltAlt")]
public virtual Usuario UsuarioUltAlt { get; set; }
[ForeignKey("EmpresaID")]
public virtual Empresa Empresa { get; set; }
[ForeignKey("ProdutoID")]
public virtual Produto Produto { get; set; }
}
意見
@model ERP.Models.Produto
@{
ViewBag.Title = Html.MontaTitulo("Detalhe produto - " + @Model.ProdutoID.ToString());
}
<script type="text/javascript">
var oTableSetor;
$(document).ready(function () {
GridProdutoLote();
});
function GridProdutoLote() {
if (oTableSetor===undefined)
{
oTableGrid = $('#lista_lote').dataTable({
"bServerSide": true,
"sAjaxSource": '@Html.Raw(@Url.Action("ListaGenerica", "Home", new { aController = "ProdutoLote", filtroID = @Model.ProdutoID } ))',
"bProcessing": true,
"sPaginationType": "full_numbers",
"aoColumns": [
{ "mDataProp": "ProdutoLoteID", "sTitle": "ID"},
{ "mDataProp": "Lote", "sTitle": "Lote" },
{ "mDataProp": "Identificacao", "sTitle": "Identificacao"},
{ "mDataProp": "DtFabricacao", "sTitle": "DtFabricacao"},
{ "mDataProp": "DtValidade", "sTitle": "DtValidade"},
{ "mDataProp": "QtdeAtual", "sTitle": "QtdeAtual"},
{ "mDataProp": "QtdeEmUtilizacao", "sTitle": "QtdeEmUtilizacao"},
{ "mData": null, "bSortable": false, "fnRender": function (o) {return '<a class="icone_16x16_detalhe" href=/Setor/Detalhar/' + o.aData["ProdutoLoteID"] + '>D</a>';}}
],
});
$('#lista_lote_filter input').unbind();
$("#lista_lote").show();
$("#grid_lote").show();
$('#lista_lote_filter input').bind('keyup', function(e) {
if(e.keyCode == 13) {
oTableGrid.fnFilter(this.value);
}});
}
};
</script>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true);
@Html.HiddenFor(m => m.ProdutoID)
@Html.HiddenFor(m => m.ProdutoBase.Identificacao)
@Html.HiddenFor(m => m.ProdutoBase.Descricao)
<div class="linha left">
@Html.LabelFor(m => m.Identificacao) @Html.ValidationMessageFor(m => m.Identificacao)<br />
@Html.TextBoxFor(m => m.Identificacao, new { style = "width:250px;" })<br />
@Html.LabelFor(m => m.Descricao) @Html.ValidationMessageFor(m => m.Descricao)<br />
@Html.TextBoxFor(m => m.Descricao, new { style = "width:250px;" })<br />
@Html.LabelFor(m => m.Detalhe) @Html.ValidationMessageFor(m => m.Detalhe)<br />
@Html.TextBoxFor(m => m.Detalhe, new { style = "width:250px;" })<br />
@Html.LabelFor(m => m.ProdutoBase.UnidadeMedidaID) * @Html.ValidationMessageFor(m => m.ProdutoBase.UnidadeMedidaID)<br />
@Html.DropDownList("ProdutoBase.UnidadeMedidaID", (SelectList)ViewBag.ListaUnidadeMedida, String.Empty, new { style = "width:250px;" }) @Html.ValidationMessageFor(m => m.ProdutoBase.UnidadeMedidaID)<br />
@Html.LabelFor(m => m.ProdutoBase.Fracao) * @Html.ValidationMessageFor(m => m.ProdutoBase.Fracao)<br />
@Html.TextBoxFor(m => m.ProdutoBase.Fracao, new { style = "width:250px;" })<br />
@Html.LabelFor(m => m.ProdutoBase.QtdeFracao) * @Html.ValidationMessageFor(m => m.ProdutoBase.QtdeFracao)<br />
@Html.TextBoxFor(m => m.ProdutoBase.QtdeFracao, new { style = "width:250px;" })<br />
@Html.LabelFor(m => m.ProdutoBase.UnidadeMedidaIDFracao) * @Html.ValidationMessageFor(m => m.ProdutoBase.UnidadeMedidaIDFracao)<br />
@Html.DropDownList("ProdutoBase.UnidadeMedidaIDFracao", (SelectList)ViewBag.ListaUnidadeMedidaFracao, String.Empty, new { style = "width:250px;" }) @Html.ValidationMessageFor(m => m.ProdutoBase.UnidadeMedidaIDFracao)<br />
@Html.LabelFor(m => m.QtdeMinima) @Html.ValidationMessageFor(m => m.QtdeMinima)<br />
@Html.TextBoxFor(m => m.QtdeMinima, new { style = "width:250px;" })<br />
@Html.LabelFor(m => m.QtdeIdeal) @Html.ValidationMessageFor(m => m.QtdeIdeal)<br />
@Html.TextBoxFor(m => m.QtdeIdeal, new { style = "width:250px;" })<br />
@Html.LabelFor(m => m.QtdeMaxima) @Html.ValidationMessageFor(m => m.QtdeMaxima)<br />
@Html.TextBoxFor(m => m.QtdeMaxima, new { style = "width:250px;" })<br />
@Html.LabelFor(m => m.QtdeAtual) @Html.ValidationMessageFor(m => m.QtdeAtual)<br />
@Html.TextBoxFor(m => m.QtdeAtual, new { style = "width:250px;", @readonly = "readonly" })<br /><br />
@Html.CheckBoxFor(m => m.ProdutoBase.TemLoteBool, new { @class = "input normal" }) @Html.LabelFor(m => m.ProdutoBase.TemLoteBool) @Html.ValidationMessageFor(m => m.ProdutoBase.TemLoteBool)<br />
@Html.CheckBoxFor(m => m.ProdutoBase.FracionadoBool, new { @class = "input normal" }) @Html.LabelFor(m => m.ProdutoBase.FracionadoBool) @Html.ValidationMessageFor(m => m.ProdutoBase.FracionadoBool)<br />
<br />
Campos marcados com *, são do produto base e somente podem ser visualizados e não alterados
<br /><br />
@Html.MontaBotoesTelaDetalhar()
<br /><br />
</div>
}
<div class="linha left" id="grid_lote">
<div class="linha left separadora" >Dados de lote:</div>
<br />
<br />
<table id="lista_lote" class="display">
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<br /><br />
<br /><br />