Abbozzata gestioen controlli

This commit is contained in:
Samuele E. Locatelli
2018-03-12 14:28:23 +01:00
parent cc4670075a
commit 40470decaf
11 changed files with 521 additions and 50 deletions
Vendored
+1 -1
View File
@@ -17,7 +17,7 @@ pipeline {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=694']) {
withEnv(['NEXT_BUILD_NUMBER=695']) {
// env.versionNumber = VersionNumber(versionNumberString : '5.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '5.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'MAPO'
+6 -4
View File
@@ -5,6 +5,8 @@
<%@ Register Src="WebUserControls/mod_dettaglioProd.ascx" TagName="mod_dettaglioProd" TagPrefix="uc2" %>
<%@ Register Src="WebUserControls/mod_dettTurni.ascx" TagName="mod_dettTurni" TagPrefix="uc3" %>
<%@ Register Src="WebUserControls/mod_confProd.ascx" TagName="mod_confProd" TagPrefix="uc4" %>
<%@ Register Src="~/WebUserControls/mod_controlliProd.ascx" TagPrefix="uc1" TagName="mod_controlliProd" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div class="container my-3" role="main">
@@ -29,10 +31,7 @@
</div>
<div class="col-12 col-sm-6">
<uc4:mod_confProd ID="mod_confProd1" runat="server" />
<asp:LinkButton runat="server" ID="LinkButton1" class="btn btn-block btn-info" data-toggle="collapse" data-target="#collapse04" aria-expanded="false" aria-controls="collapse04">
<b><i class="fa fa-wrench" aria-hidden="true"></i> CONTROLLI (OPZ!!!)</b>
</asp:LinkButton>
<uc1:mod_controlliProd runat="server" id="mod_controlliProd" />
<div class="list-group my-2">
<asp:Label runat="server" ID="lblHead" class="list-group-item list-group-item-action active">
<i class="fa fa-map-marker"></i> LINK DIRETTI
@@ -46,6 +45,9 @@
<asp:HyperLink runat="server" ID="hlComm" class="list-group-item list-group-item-action" NavigateUrl="~/Commenti.aspx">
<i class="fa fa-angle-double-right" aria-hidden="true"></i> <b><i class="fa fa-edit"></i> COMMENTI</b>
</asp:HyperLink>
<asp:HyperLink runat="server" ID="hlControlli" class="list-group-item list-group-item-action" NavigateUrl="~/Controlli.aspx">
<i class="fa fa-angle-double-right" aria-hidden="true"></i> <b><i class="fa fa-flask"></i> CONTROLLI</b>
</asp:HyperLink>
<asp:HyperLink runat="server" ID="hlTurni" class="list-group-item list-group-item-action" NavigateUrl="~/Turni.aspx">
<i class="fa fa-angle-double-right" aria-hidden="true"></i> <b><i class="fa fa-gear"></i> TURNI</b>
</asp:HyperLink>
+11 -2
View File
@@ -49,13 +49,13 @@ namespace MoonProTablet {
protected global::MoonProTablet.WebUserControls.mod_confProd mod_confProd1;
/// <summary>
/// Controllo LinkButton1.
/// Controllo mod_controlliProd.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton LinkButton1;
protected global::MoonProTablet.WebUserControls.mod_controlliProd mod_controlliProd;
/// <summary>
/// Controllo lblHead.
@@ -93,6 +93,15 @@ namespace MoonProTablet {
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink hlComm;
/// <summary>
/// Controllo hlControlli.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink hlControlli;
/// <summary>
/// Controllo hlTurni.
/// </summary>
+8
View File
@@ -447,6 +447,7 @@
</Content>
<Content Include="WebUserControls\mod_commenti.ascx" />
<Content Include="WebUserControls\mod_confProd.ascx" />
<Content Include="WebUserControls\mod_controlliProd.ascx" />
<Content Include="WebUserControls\mod_dettaglioProd.ascx" />
<Content Include="WebUserControls\mod_dettMacchina.ascx" />
<Content Include="WebUserControls\mod_dettTurni.ascx" />
@@ -646,6 +647,13 @@
<Compile Include="WebUserControls\mod_confProd.ascx.designer.cs">
<DependentUpon>mod_confProd.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\mod_controlliProd.ascx.cs">
<DependentUpon>mod_controlliProd.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\mod_controlliProd.ascx.designer.cs">
<DependentUpon>mod_controlliProd.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\mod_dettaglioProd.ascx.cs">
<DependentUpon>mod_dettaglioProd.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
+5 -2
View File
@@ -1,8 +1,11 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_confProd.ascx.cs" Inherits="MoonProTablet.WebUserControls.mod_confProd" %>
<div class="row">
<div class="col-12">
<asp:Label runat="server" ID="lblConfProd" CssClass="btn btn-primary btn-lg btn-block disabled">
<i class="fa fa-check"></i> MOSTRA Conferma
</asp:Label>
<asp:Label runat="server" ID="lblMancaODL" Visible="false" ForeColor="Red">MANCA ODL: conferma NON permessa</asp:Label>
<asp:LinkButton runat="server" ID="lbtShowConfProd" OnClick="lbtShowConfProd_Click" CssClass="btn btn-primary btn-lg btn-block">
<i class="fa fa-check"></i>
<asp:Label runat="server" ID="lblShowConfProd" />
@@ -38,6 +41,6 @@
</div>
<div class="row mb-2">
<div class="col-12">
<asp:Label runat="server" ID="lblMancaODL" Visible="false" ForeColor="Red">MANCA ODL: conferma produzione NON permessa</asp:Label><asp:Label runat="server" ID="lblOut" ForeColor="Red" />
<asp:Label runat="server" ID="lblOut" ForeColor="Red" />
</div>
</div>
+13 -2
View File
@@ -39,6 +39,7 @@ namespace MoonProTablet.WebUserControls
lblOut.Text = "";
switchBtnConferma(false);
lbtShowConfProd.Visible = odlOk;
lblConfProd.Visible = !odlOk;
}
/// <summary>
/// Verifica se abbia un ODL ATTIVO
@@ -46,6 +47,7 @@ namespace MoonProTablet.WebUserControls
private void checkOdl()
{
lbtShowConfProd.Visible = odlOk;
lblConfProd.Visible = !odlOk;
lblMancaODL.Visible = !odlOk;
}
@@ -67,11 +69,20 @@ namespace MoonProTablet.WebUserControls
{
divSelMacc.Visible = isMulti;
}
/// <summary>
/// restituisce css disabled SE odl NON OK...
/// </summary>
public string cssBtnConf
{
get
{
return odlOk ? "" : "disabled";
}
}
/// <summary>
/// Verifica ODL OK (ovvero caricato x macchina...)
/// </summary>
protected bool odlOk
public bool odlOk
{
get
{
+18 -9
View File
@@ -12,6 +12,24 @@ namespace MoonProTablet.WebUserControls {
public partial class mod_confProd {
/// <summary>
/// Controllo lblConfProd.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblConfProd;
/// <summary>
/// Controllo lblMancaODL.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMancaODL;
/// <summary>
/// Controllo lbtShowConfProd.
/// </summary>
@@ -120,15 +138,6 @@ namespace MoonProTablet.WebUserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtSalva;
/// <summary>
/// Controllo lblMancaODL.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMancaODL;
/// <summary>
/// Controllo lblOut.
/// </summary>
@@ -0,0 +1,42 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_controlliProd.ascx.cs" Inherits="MoonProTablet.WebUserControls.mod_controlliProd" %>
<div class="row">
<div class="col-12">
<asp:Label runat="server" ID="lblConfProd" CssClass="btn btn-primary btn-lg btn-block disabled">
<i class="fa fa-wrench"></i> REGISTRA Controllo
</asp:Label>
<asp:Label runat="server" ID="lblMancaODL" Visible="false" ForeColor="Red">MANCA ODL: registrazione controlli produzione NON permessa</asp:Label>
<asp:LinkButton runat="server" ID="lbtShowContr" OnClick="lbtShowContr_Click" CssClass="btn btn-primary btn-lg btn-block">
<i class="fa fa-wrench"></i>
<asp:Label runat="server" ID="lblShowContr" />
</asp:LinkButton>
</div>
<div class="col-12" runat="server" id="divSelMacc">
<asp:DropDownList runat="server" ID="ddlSubMacc" DataSourceID="ods" CssClass="form-control" DataTextField="CodMaccArticolo" DataValueField="IdxMacchina" AutoPostBack="True" OnSelectedIndexChanged="ddlSubMacc_SelectedIndexChanged" OnDataBound="ddlSubMacc_DataBound"></asp:DropDownList>
<asp:ObjectDataSource runat="server" ID="ods" OldValuesParameterFormatString="original_{0}" SelectMethod="getMulti" TypeName="MapoDb.DS_applicazioneTableAdapters.MSFDTableAdapter" FilterExpression="idxMacchina LIKE '%#%'">
<SelectParameters>
<asp:SessionParameter DefaultValue="0" Name="IdxMacchina" SessionField="IdxMacchina" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</div>
<div class="row my-2" runat="server">
<div class="col-6">
<asp:LinkButton runat="server" ID="lbtOK" CssClass="btn btn-block btn-success" OnClick="lbtOK_Click">OK</asp:LinkButton>
</div>
<div class="col-6">
<asp:LinkButton runat="server" ID="lbtKO" CssClass="btn btn-block btn-danger" OnClick="lbtKO_Click">KO</asp:LinkButton>
</div>
<div class="col-12" runat="server" id="divNote" visible="false">
<asp:Label runat="server" ID="Label1" CssClass="small disabled" AssociatedControlID="txtNoteContr">
Note controllo NON superato (opzionali)
</asp:Label>
<asp:TextBox runat="server" ID="txtNoteContr" TextMode="MultiLine" CssClass="form-control"></asp:TextBox>
<asp:LinkButton runat="server" ID="lbtSalva" CssClass="btn btn-danger text-light btn-lg btn-block" OnClick="lbtSalva_Click"><i class="fa fa-floppy-o"></i> CONFERMA controllo KO</asp:LinkButton>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<asp:Label runat="server" ID="lblOut" ForeColor="Red" />
</div>
</div>
@@ -0,0 +1,240 @@
using MapoDb;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
public partial class mod_controlliProd : System.Web.UI.UserControl
{
/// <summary>
/// registrato nuovo valore
/// </summary>
public event EventHandler eh_inserting;
/// <summary>
/// registrato nuovo valore
/// </summary>
public event EventHandler eh_newVal;
/// <summary>
/// registrato nuovo valore
/// </summary>
public event EventHandler eh_reset;
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
checkAll();
}
}
private void checkAll()
{
fixSelMacc();
checkOdl();
lblOut.Text = "";
switchBtnConferma(false);
lbtShowContr.Visible = odlOk;
lblConfProd.Visible = !odlOk;
}
/// <summary>
/// Verifica se abbia un ODL ATTIVO
/// </summary>
private void checkOdl()
{
lbtShowContr.Visible = odlOk;
lblConfProd.Visible = !odlOk;
lblMancaODL.Visible = !odlOk;
}
/// <summary>
/// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
/// </summary>
protected bool isMulti
{
get
{
return DataLayer.isMulti(idxMacchinaSession);
}
}
/// <summary>
/// Se la machcina è MULTI --> mostro selettore
/// </summary>
private void fixSelMacc()
{
divSelMacc.Visible = isMulti;
}
/// <summary>
/// restituisce css disabled SE odl NON OK...
/// </summary>
public string cssBtnConf
{
get
{
return odlOk ? "" : "disabled";
}
}
/// <summary>
/// Verifica ODL OK (ovvero caricato x macchina...)
/// </summary>
public bool odlOk
{
get
{
bool answ = true;
// carico i dati preliminari: ODL
int idxOdl = 0; // userò ODL del turno
try
{
idxOdl = DataLayer.obj.taODL.getByMacchinaAperto(idxMacchina)[0].IdxODL;
}
catch
{
logger.lg.scriviLog(string.Format("Errore a recuperare ODL per la macchina {0}", idxMacchina), tipoLog.ERROR);
}
// se ODL > 0 è ok!!!
answ = (idxOdl > 0);
return answ;
}
}
/// <summary>
/// idx macchina selezionata
/// </summary>
public string idxMacchina
{
get
{
string answ = memLayer.ML.StringSessionObj("IdxMacchina");
// verifoc: se multi uso selettore tendina...
if (isMulti)
{
if (ddlSubMacc.SelectedValue == "")
{
ddlSubMacc.DataBind();
}
if (ddlSubMacc.SelectedValue != "")
{
answ = ddlSubMacc.SelectedValue;
}
}
return answ;
}
set
{
memLayer.ML.setSessionVal("IdxMacchina", value);
}
}
/// <summary>
/// idx macchina selezionata
/// </summary>
public string idxMacchinaSession
{
get
{
return memLayer.ML.StringSessionObj("IdxMacchina");
}
set
{
memLayer.ML.setSessionVal("IdxMacchina", value);
}
}
/// <summary>
/// cambio stato visibilità pannello e testo button
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtShowContr_Click(object sender, EventArgs e)
{
switchBtnConferma(!lbtOK.Visible);
}
/// <summary>
/// determina comportamento btn conferma
/// </summary>
private void switchBtnConferma(bool showConf)
{
lbtOK.Visible = showConf;
lbtKO.Visible = showConf;
lbtSalva.Visible = showConf;
if (showConf)
{
lblShowContr.Text = "Nascondi Controllo";
}
else
{
lblShowContr.Text = "Registra Controllo";
// sollevo evento!
if (eh_reset != null)
{
eh_reset(this, new EventArgs());
}
}
}
/// <summary>
/// salvo produzione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtSalva_Click(object sender, EventArgs e)
{
// salvo controllo OK !!!FARE!!!
// sollevo evento!
if (eh_newVal != null)
{
eh_newVal(this, new EventArgs());
}
}
protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
{
subMaccSel = ddlSubMacc.SelectedValue;
checkAll();
}
protected void ddlSubMacc_DataBound(object sender, EventArgs e)
{
// se ho in memoria un valore LO REIMPOSTO...
if (subMaccSel != "")
{
// provo a preselezionare...
try
{
ddlSubMacc.SelectedValue = subMaccSel;
}
catch
{ }
}
}
/// <summary>
/// Sotto sistema (macchina) selezionato
/// </summary>
public string subMaccSel
{
get
{
return memLayer.ML.StringSessionObj("subMaccSel");
}
set
{
memLayer.ML.setSessionVal("subMaccSel", value);
}
}
protected void lbtOK_Click(object sender, EventArgs e)
{
// Salvo controllo !!!FARE!!!
}
protected void lbtKO_Click(object sender, EventArgs e)
{
divNote.Visible = true;
}
}
}
@@ -0,0 +1,141 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace MoonProTablet.WebUserControls {
public partial class mod_controlliProd {
/// <summary>
/// Controllo lblConfProd.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblConfProd;
/// <summary>
/// Controllo lblMancaODL.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMancaODL;
/// <summary>
/// Controllo lbtShowContr.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtShowContr;
/// <summary>
/// Controllo lblShowContr.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblShowContr;
/// <summary>
/// Controllo divSelMacc.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divSelMacc;
/// <summary>
/// Controllo ddlSubMacc.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlSubMacc;
/// <summary>
/// Controllo ods.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// Controllo lbtOK.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtOK;
/// <summary>
/// Controllo lbtKO.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtKO;
/// <summary>
/// Controllo divNote.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divNote;
/// <summary>
/// Controllo Label1.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// Controllo txtNoteContr.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtNoteContr;
/// <summary>
/// Controllo lbtSalva.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtSalva;
/// <summary>
/// Controllo lblOut.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblOut;
}
}
+36 -30
View File
@@ -6,47 +6,53 @@
<ItemTemplate>
<div class="col-6 col-sm-6 col-md-4 col-lg-3 col-xl-2 mb-3 px-1 bloccoMacc">
<asp:LinkButton ID="hlMacchina" runat="server" OnClick="hlMacchina_Click" CommandArgument='<%# Eval("IdxMacchina") %>'>
<div class="card text-white mapBlock rCAll">
<div class='card text-white mapBlock rCAll <%# Eval("Semaforo") %> p-0 m-0'>
<img class="card-img bg-dark rCTop" src='<%# ImgUrl(Eval("url")) %>' alt='<%# Eval("CodMacchina") %>'>
<div class="card-img-overlay p-0 d-flex flex-row-reverse align-items-start rCTop">
<div class="labelTopDx text-right px-2">
<asp:Label runat="server" ID="lblBadge" Text='<%# Eval("CodArticolo","art: {0}") %>' />
<asp:Label runat="server" ID="lblODC" Text='<%# Eval("idxODL","(ODL {0})") %>' />
</div>
</div>
<div class="card bg-black p-0 rCBot">
<div class='row justify-content-center mx-0'>
<div class="col-12 px-1">
<h4 class="text-left">
<asp:Label runat="server" ID="lblTitle" Text='<%# Eval("Nome") %>' /></h4>
<div class="m-1 bg-black rCAll">
<div class="card-img-overlay p-0 d-flex flex-row-reverse align-items-start rCTop">
<div class="labelTopDx text-right px-2">
<asp:Label runat="server" ID="lblBadge" Text='<%# Eval("CodArticolo","art: {0}") %>' />
<asp:Label runat="server" ID="lblODC" Text='<%# Eval("idxODL","(ODL {0})") %>' />
</div>
<div class='col-12 px-1 <%# Eval("Semaforo") %>'>
<div class="d-flex">
<div class="p-1 mr-auto">
<b>
<asp:Label runat="server" ID="lblStato" Text='<%# Eval("DescrizioneStato") %>' /></b>
</div>
<div class="p-1">
<asp:Label runat="server" ID="lblDurata" Text='<%# formatDurata(Eval("Durata")) %>' />
</div>
<div class="card bg-black p-0 rCBot">
<div class='row justify-content-center mx-0'>
<div class="col-12 px-1">
<h4 class="text-left">
<asp:Label runat="server" ID="lblTitle" Text='<%# Eval("Nome") %>' /></h4>
</div>
<div class='col-12 p-1 <%# Eval("Semaforo") %>'>
<div class="d-flex">
<div class="p-0 mr-auto">
<b>
<asp:Label runat="server" ID="lblStato" Text='<%# Eval("DescrizioneStato") %>' /></b>
</div>
<div class="p-0">
<asp:Label runat="server" ID="lblDurata" Text='<%# formatDurata(Eval("Durata")) %>' />
</div>
</div>
</div>
</div>
<div class="col-12 px-1 pb-1">
<div class="d-flex">
<div class="p-1 mr-auto">
<asp:Label runat="server" ID="Label2" Text='<%# Eval("PezziProd","prod: {0}") %>' ToolTip="pz prodotti" />
/
<div class="col-12 px-1 pb-1">
<div class="d-flex">
<div class="p-1 mr-auto">
<asp:Label runat="server" ID="Label2" Text='<%# Eval("PezziProd","prod: {0}") %>' ToolTip="pz prodotti" />
/
<asp:Label runat="server" ID="lblPzLanciati" Text='<%# Eval("NumPezzi","tot: {0}") %>' ToolTip="pz lanciati" />
</div>
<div class="p-1">
<asp:Label runat="server" ID="Label1" Text='<%# Eval("PezziConf","conf: {0}") %>' ToolTip="pz confermati" />
</div>
<div class="p-1">
<asp:Label runat="server" ID="Label1" Text='<%# Eval("PezziConf","conf: {0}") %>' ToolTip="pz confermati" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</asp:LinkButton></div></ItemTemplate></asp:Repeater><asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByRefreshData"
</asp:LinkButton>
</div>
</ItemTemplate>
</asp:Repeater>
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByRefreshData"
TypeName="MapoDb.DS_ProdTempiTableAdapters.MappaStatoExplTableAdapter">
<SelectParameters>
<asp:Parameter DefaultValue="3001" Name="maxAgeSec" Type="Int32" />