Fix sel subMacc su PianoProd in TAB

This commit is contained in:
Samuele E. Locatelli
2018-10-04 19:39:55 +02:00
parent 59caf3160c
commit e4c1f9750c
4 changed files with 156 additions and 8 deletions
+15 -5
View File
@@ -2,7 +2,17 @@
<div class="text-center small">
<h3>ELENCO PROSSIMI PODL</h3>
<h3>Previsione P-ODL</h3>
<div class="row">
<div class="col-12" runat="server" id="divSelMacc">
<asp:DropDownList runat="server" ID="ddlSubMacc" DataSourceID="odsMacc" CssClass="form-control" DataTextField="CodMaccArticolo" DataValueField="IdxMacchina" AutoPostBack="True" OnSelectedIndexChanged="ddlSubMacc_SelectedIndexChanged" OnDataBound="ddlSubMacc_DataBound"></asp:DropDownList>
<asp:ObjectDataSource runat="server" ID="odsMacc" 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>
<asp:CheckBox runat="server" ID="chkOnlyMacc" Text="Solo assegnazione diretta" Checked="true" AutoPostBack="true" />
<asp:GridView ID="grView" runat="server" AutoGenerateColumns="False" DataKeyNames="idxPromessa" DataSourceID="ods" AllowPaging="true" CssClass="table table-dark table-striped small">
<RowStyle CssClass="ctrRowStyle" />
@@ -19,7 +29,7 @@
</EmptyDataTemplate>
<Columns>
<asp:TemplateField HeaderText="Data" SortExpression="DueDate">
<ItemTemplate>
<ItemTemplate>
<div class="row">
<div class="col-12 text-nowrap">
<%# Eval("DueDate","{0:dd.MM.yy}") %>
@@ -46,7 +56,7 @@
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Macchina" SortExpression="CodMacchina">
<ItemTemplate>
<ItemTemplate>
<div class="row">
<div class="col-12 text-nowrap">
<b>
@@ -58,7 +68,7 @@
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Pezzi" SortExpression="NumPezzi">
<ItemTemplate>
<ItemTemplate>
<div class="row">
<div class="col-12 col-lg-6 text-nowrap text-success">
Tot: <%# Eval("NumPezzi") %>
@@ -79,7 +89,7 @@
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByIdxMacc" TypeName="MapoDb.DS_ProdTempiTableAdapters.PromesseODLTableAdapter" FilterExpression=" Attivabile = 1">
<SelectParameters>
<asp:SessionParameter Type="String" DefaultValue="0" SessionField="IdxMacchina" Name="IdxMacchina" />
<asp:SessionParameter Type="String" DefaultValue="0" SessionField="IdxMacchinaPianoProd" Name="IdxMacchina" />
<asp:Parameter DefaultValue="True" Name="onlyFree" Type="Boolean" />
<asp:ControlParameter ControlID="chkOnlyMacc" DefaultValue="" Name="onlyDirect" PropertyName="Checked" Type="Boolean" />
</SelectParameters>
@@ -1,4 +1,6 @@
using System;
using MapoDb;
using SteamWare;
using System;
namespace MoonProTablet.WebUserControls
{
@@ -6,7 +8,10 @@ namespace MoonProTablet.WebUserControls
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
fixSelMaccPianoProd();
}
}
public string TCMinSec(object _TC)
{
@@ -27,5 +32,111 @@ namespace MoonProTablet.WebUserControls
return TC_MinSec;
}
/// <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);
}
}
protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e)
{
subMaccSel = ddlSubMacc.SelectedValue;
fixSelMaccPianoProd();
fixSelMacc();
}
private void fixSelMaccPianoProd()
{
if (isMulti)
{
memLayer.ML.setSessionVal("IdxMacchinaPianoProd", subMaccSel);
}
else
{
memLayer.ML.setSessionVal("IdxMacchinaPianoProd", idxMacchinaSession);
}
}
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);
}
}
/// <summary>
/// Se la machcina è MULTI --> mostro selettore
/// </summary>
private void fixSelMacc()
{
divSelMacc.Visible = isMulti;
fixSelMaccPianoProd();
}
/// <summary>
/// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
/// </summary>
protected bool isMulti
{
get
{
return DataLayer.isMulti(idxMacchinaSession);
}
}
}
}
@@ -12,6 +12,33 @@ namespace MoonProTablet.WebUserControls {
public partial class mod_pianoProdMacc {
/// <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 odsMacc.
/// </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 odsMacc;
/// <summary>
/// Controllo chkOnlyMacc.
/// </summary>