Fixed filtro ODL

This commit is contained in:
Samuele E. Locatelli
2018-10-27 09:58:28 +02:00
parent 39f8d84987
commit ae406ef5fc
4 changed files with 630 additions and 454 deletions
@@ -471,16 +471,6 @@ namespace MoonProAdmin.WebUserControls
updateCtrl();
}
protected void txtFiltCodArt_TextChanged(object sender, EventArgs e)
{
updateGrView();
}
protected void txtFiltIdxMacc_TextChanged(object sender, EventArgs e)
{
updateGrView();
}
protected void chkUnassigned_CheckedChanged(object sender, EventArgs e)
{
updateGrView();
+50 -38
View File
@@ -1,11 +1,16 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_gestioneODL.ascx.cs"
Inherits="MoonPro_site.WebUserControls.mod_gestioneODL" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register Src="mod_newOdl.ascx" TagName="mod_newOdl" TagPrefix="uc1" %>
<div style="text-align: center; margin: auto; vertical-align: middle; width: 100%; background: #DCDCDC;">
<div class="filtro_2" style="white-space: nowrap; padding: 2px;">
<asp:Button runat="server" ID="btnNewOdl" OnClick="btnNewOdl_Click" Text="Nuovo ODL" />
<div class="bg-secondary text-light" style="white-space: nowrap; padding: 2px;">
<div class="row">
<div class="col-4"></div>
<div class="col-4">
<asp:LinkButton ID="lbtNewODL" runat="server" OnClick="lbtNewODL_Click" CssClass="btn btn-block btn-primary"><i class="fa fa-plus"></i> Nuovo ODL <i class="fa fa-list-ol"></i></asp:LinkButton>
</div>
<div class="col-4"></div>
</div>
<uc1:mod_newOdl ID="mod_newOdl1" runat="server" />
</div>
<div id="divEditQta" runat="server" visible="false" class="ctrSelRowStyle" style="white-space: nowrap; padding: 2px;">
@@ -20,12 +25,36 @@
<div class="col-sm-3">
Pezzi Pallet:
<asp:TextBox runat="server" ID="txtNewPzPallet" Width="6em" />
</div>
<div class="col-sm-3">
<asp:Button runat="server" ID="btnCancel" Text="Annulla" Width="10em" OnClick="btnCancel_Click" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-2">
<h3>Filtri attivi</h3>
</div>
<div class="col-sm-4 text-nowrap">
<div class="input-group my-1 input-group-sm">
<div class="input-group-prepend">
<asp:LinkButton runat="server" ID="lbtResArt" CssClass="btn btn-outline-dark" OnClick="lbtResArt_Click"><i class="fa fa-refresh"></i> <b>Articolo</b></asp:LinkButton>
<asp:Label runat="server" ID="lblCodArt" CssClass="input-group-text" />
<asp:Label runat="server" ID="lblDescArt" CssClass="input-group-text text-truncate" />
</div>
</div>
</div>
<div class="col-sm-4">
<div class="input-group my-1 input-group-sm">
<div class="input-group-prepend">
<asp:LinkButton runat="server" ID="lbtResMacc" CssClass="btn btn-outline-dark" OnClick="lbtResMacc_Click"><i class="fa fa-refresh"></i> <b>Macchina</b></asp:LinkButton>
<asp:Label runat="server" ID="lblNomeMacc" CssClass="input-group-text" />
<asp:Label runat="server" ID="lblIdxMacc" CssClass="input-group-text" />
</div>
</div>
</div>
<div class="col-sm-2">
</div>
</div>
<asp:GridView ID="grView" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
OnSelectedIndexChanged="grView_SelectedIndexChanged" OnDataBound="grView_DataBound" PageSize="25"
@@ -48,18 +77,10 @@
<asp:Button ID="btnReset" runat="server" Text='<%# traduci("Reset") %>' OnClick="btnReset_Click" CausesValidation="false" Visible="true" />
</HeaderTemplate>
<ItemTemplate>
<%--<span style="padding-right: 2px;">
<asp:ImageButton ID="imgSelect" runat="server" CausesValidation="False" CommandName="Select"
ToolTip='<%# traduci("Select") %>' ImageUrl="~/images/view_s.png" />
</span>--%>
<span style="padding-right: 2px;">
<asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="False" CommandName="Select"
ToolTip="Modifica num pz" ImageUrl="~/images/edit_s.png" Visible='<%# OdlIsCurrent(Eval("DataInizio"),Eval("DataFine")) %>' />
</span>
<%--<span style="padding-left: 2px;">
<asp:HyperLink runat="server" ID="hlPrintOdl" ToolTip='<%# traduci("getPdfODL") %>'
NavigateUrl='<%# formattaUrlOdl(Eval("IdxODL")) %>' ImageUrl="~/images/page_pdf.png" />
</span>--%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
@@ -70,9 +91,11 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="CodArticolo" SortExpression="CodArticolo">
<ItemTemplate>
<div style="float: left;">
<b>
<asp:Label runat="server" ID="txtCodArticolo" Text='<%# Eval("CodArticolo") %>' /></b>
<div style="float: left;">
<asp:LinkButton runat="server" ID="lbtSelArt" OnClick="lbtSelArt_Click" CausesValidation="False" CommandArgument='<%# Eval("CodArticolo")+"|"+Eval("DescArticolo") %>' CssClass="btn btn-sm btn-outline-dark p-1">
<i class="fa fa-search"></i>
<b><%# Eval("CodArticolo") %></b>
</asp:LinkButton>
</div>
<div style="float: right; font-size: 0.8em;">
<asp:Label runat="server" ID="Label1" Text='<%# Eval("CommessaAs400") %>' />
@@ -83,11 +106,12 @@
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="codMacchina" SortExpression="CodMacchina">
<ItemTemplate>
<b>
<asp:Label runat="server" ID="txtCodMacchina" Text='<%# Eval("CodMacchina") %>' /></b>
<br />
<asp:Label runat="server" ID="txtNome" Text='<%# Eval("Nome") %>' />
<ItemTemplate>
<asp:LinkButton runat="server" ID="lbtSelMacc" OnClick="lbtSelMacc_Click" CausesValidation="False" CommandArgument='<%# Eval("IdxMacchina")+"|"+Eval("Nome") %>' CssClass="btn btn-sm btn-outline-dark p-1 btn-block">
<i class="fa fa-search"></i>
<b><%# Eval("Nome") %></b>
<div><%# Eval("CodMacchina") %></div>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="NumPezzi" SortExpression="NumPezzi">
@@ -123,11 +147,9 @@
</asp:TemplateField>
<asp:TemplateField HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:ImageButton ID="imgDelete" runat="server" CausesValidation="False" CommandName="Delete"
<asp:ImageButton ID="imgDelete" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('Sicuro di voler procedere con eliminazione?');"
CommandArgument='<%# Eval("IdxODL") %>' ToolTip='<%# traduci("Delete") %>' Visible='<%# delEnabled(Eval("IdxODL")) %>'
ImageUrl="~/images/elimina_m.png" />
<cc1:ConfirmButtonExtender ID="ConfirmButtonExtender1" runat="server" ConfirmText='<%# traduci("confermaDel")%>'
TargetControlID="imgDelete"></cc1:ConfirmButtonExtender>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
@@ -136,27 +158,17 @@
</asp:GridView>
<asp:Label ID="lblNumRec" runat="server" CssClass="txtMini" />&nbsp;&nbsp;
<asp:Label ID="lblWarning" runat="server" Visible="false" CssClass="erroreMid" />
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData" TypeName="MapoDb.DS_ProdTempiTableAdapters.ODLTableAdapter"
OnInserting="recuperaFooter" FilterExpression="CodArticolo LIKE '%{0}%'" OnInserted="ods_Updated"
OnUpdated="ods_Updated" DeleteMethod="DeleteQuery" OnDeleted="ods_Updated" InsertMethod="Insert"
UpdateMethod="updateQta">
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByMacchinaArticolo" TypeName="MapoDb.DS_ProdTempiTableAdapters.ODLTableAdapter" OnInserting="recuperaFooter" FilterExpression="CodArticolo LIKE '%{0}%'" OnInserted="ods_Updated" OnUpdated="ods_Updated" DeleteMethod="DeleteQuery" OnDeleted="ods_Updated">
<FilterParameters>
<asp:SessionParameter DefaultValue="*" Name="ricerca" SessionField="valoreCercato" />
</FilterParameters>
<DeleteParameters>
<asp:Parameter Name="Original_IdxODL" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="NumPezzi" Type="Int32" />
<asp:Parameter Name="Original_IdxODL" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="CodArticolo" Type="String" />
<asp:Parameter Name="IdxMacchina" Type="String" />
<asp:Parameter Name="NumPezzi" Type="Int32" />
<asp:Parameter Name="TCAssegnato" Type="Decimal" />
</InsertParameters>
<SelectParameters>
<asp:ControlParameter ControlID="lblCodArt" Name="CodArticolo" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="lblIdxMacc" Name="IdxMacchina" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<div style="text-align: center; margin: auto; vertical-align: middle; padding: 4px 2px; height: 1.5em;">
<div style="float: right;">
+524 -404
View File
@@ -7,417 +7,537 @@ using System.Web.UI.WebControls;
namespace MoonPro_site.WebUserControls
{
public partial class mod_gestioneODL : System.Web.UI.UserControl
public partial class mod_gestioneODL : System.Web.UI.UserControl
{
/// <summary>
/// dimensione pagina
/// </summary>
public int pageSize
{
get
{
int answ = 10;
try
{
answ = Convert.ToInt32(txtPageSize.Text);
}
catch
{ }
return answ;
}
set
{
txtPageSize.Text = value.ToString();
}
}
#region area da NON modificare
/// <summary>
/// dimensione pagina
/// </summary>
public int pageSize
{
get
{
int answ = 10;
try
{
answ = Convert.ToInt32(txtPageSize.Text);
}
catch
{ }
return answ;
}
set
{
txtPageSize.Text = value.ToString();
}
}
#region area da NON modificare
#region area protected
#region area protected
protected string _idxGridView;
protected string _idxGridView;
/// <summary>
/// reset della selezione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReset_Click(object sender, EventArgs e)
{
resetSelezione();
}
/// <summary>
/// gestione cambio selezione valore
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
// salvo in session il valore selezionato...
SteamWare.memLayer.ML.setSessionVal(string.Format("{0}_sel", _idxGridView), grView.SelectedValue, false);
// mostro edit quantità...
divEditQta.Visible = true;
lbtNewODL.Visible = enableCreateNew;
mod_newOdl1.Visible = false;
var riga = DataLayer.obj.taODL.getByIdx(idxOdlSel, false)[0];
numPz = riga.NumPezzi;
pzPallet = riga.PzPallet;
}
/// <summary>
/// traduce gli header delle colonne
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_DataBound(object sender, EventArgs e)
{
if (grView.Rows.Count > 0)
{
LinkButton lb;
// aggiorno gli headers
foreach (TableCell cella in grView.HeaderRow.Cells)
{
try
{
lb = (LinkButton)cella.Controls[0];
lb.Text = traduci(lb.Text);
}
catch
{ }
}
int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1);
lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord);
}
else
{
lblNumRec.Text = "";
}
}
/// <summary>
/// recupera i dati di un nuovo record contenuti nel footer di un gridView;
/// questi devono esses opportunamente nominati (es: txt{0}, dl{0}, ...)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void recuperaFooter(object sender, ObjectDataSourceMethodEventArgs e)
{
//recupero la riga footer...
DataColumnCollection colonne = colonneObj();
string nomeCol;
string tipoColonna = "";
foreach (DataColumn colonna in colonne)
{
nomeCol = colonna.ColumnName;
// cerco un textbox o quello che sia...
if (grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol)) != null)
{
tipoColonna = "textBox";
}
else if (grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol)) != null)
{
tipoColonna = "dropDownList";
}
else if (grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol)) != null)
{
tipoColonna = "checkBox";
}
else if (grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol)) != null)
{
tipoColonna = "selAjax";
}
// in base al tipo salvo negli inputparameters dell'ODS
switch (tipoColonna)
{
case "textBox":
e.InputParameters[nomeCol] = ((TextBox)grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol))).Text;
break;
case "dropDownList":
e.InputParameters[nomeCol] = ((DropDownList)grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol))).SelectedValue;
break;
case "checkBox":
e.InputParameters[nomeCol] = ((CheckBox)grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol))).Checked;
break;
//case "selAjax":
// e.InputParameters[nomeCol] = ((mod_selettore_ajax)grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol))).valore;
// break;
default:
break;
}
tipoColonna = "";
}
}
/// <summary>
/// svuoto da cache post update
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ods_Updated(object sender, ObjectDataSourceStatusEventArgs e)
{
// evento come nuovo...
if (eh_nuovoValore != null)
{
eh_nuovoValore(this, new EventArgs());
}
}
/// <summary>
/// reset della selezione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReset_Click(object sender, EventArgs e)
{
resetSelezione();
}
/// <summary>
/// gestione cambio selezione valore
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
// salvo in session il valore selezionato...
SteamWare.memLayer.ML.setSessionVal(string.Format("{0}_sel", _idxGridView), grView.SelectedValue, false);
// mostro edit quantità...
divEditQta.Visible = true;
btnNewOdl.Visible = true;
mod_newOdl1.Visible = false;
var riga = DataLayer.obj.taODL.getByIdx(idxOdlSel, false)[0];
numPz = riga.NumPezzi;
pzPallet = riga.PzPallet;
}
/// <summary>
/// traduce gli header delle colonne
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_DataBound(object sender, EventArgs e)
{
if (grView.Rows.Count > 0)
{
LinkButton lb;
// aggiorno gli headers
foreach (TableCell cella in grView.HeaderRow.Cells)
{
try
{
lb = (LinkButton)cella.Controls[0];
lb.Text = traduci(lb.Text);
}
catch
{ }
}
int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1);
lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord);
}
else
{
lblNumRec.Text = "";
}
}
/// <summary>
/// recupera i dati di un nuovo record contenuti nel footer di un gridView;
/// questi devono esses opportunamente nominati (es: txt{0}, dl{0}, ...)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void recuperaFooter(object sender, ObjectDataSourceMethodEventArgs e)
{
//recupero la riga footer...
DataColumnCollection colonne = colonneObj();
string nomeCol;
string tipoColonna = "";
foreach (DataColumn colonna in colonne)
{
nomeCol = colonna.ColumnName;
// cerco un textbox o quello che sia...
if (grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol)) != null)
{
tipoColonna = "textBox";
}
else if (grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol)) != null)
{
tipoColonna = "dropDownList";
}
else if (grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol)) != null)
{
tipoColonna = "checkBox";
}
else if (grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol)) != null)
{
tipoColonna = "selAjax";
}
// in base al tipo salvo negli inputparameters dell'ODS
switch (tipoColonna)
{
case "textBox":
e.InputParameters[nomeCol] = ((TextBox)grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol))).Text;
break;
case "dropDownList":
e.InputParameters[nomeCol] = ((DropDownList)grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol))).SelectedValue;
break;
case "checkBox":
e.InputParameters[nomeCol] = ((CheckBox)grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol))).Checked;
break;
//case "selAjax":
// e.InputParameters[nomeCol] = ((mod_selettore_ajax)grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol))).valore;
// break;
default:
break;
}
tipoColonna = "";
}
}
/// <summary>
/// svuoto da cache post update
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ods_Updated(object sender, ObjectDataSourceStatusEventArgs e)
{
// evento come nuovo...
if (eh_nuovoValore != null)
{
eh_nuovoValore(this, new EventArgs());
}
}
#endregion
#endregion
#region are public
#region are public
/// <summary>
/// effettua traduzione del lemma
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return user_std.UtSn.Traduci(lemma);
}
/// <summary>
/// effettua traduzione in inglese del lemma
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduciEn(string lemma)
{
return user_std.UtSn.TraduciEn(lemma);
}
/// <summary>
/// resetta la selezione dei valori in caso di modifiche su altri controlli
/// </summary>
public void resetSelezione()
{
SteamWare.memLayer.ML.emptySessionVal(string.Format("{0}_sel", _idxGridView));
grView.SelectedIndex = -1;
grView.DataBind();
divEditQta.Visible = false;
mod_newOdl1.Visible = false;
btnNewOdl.Visible = true;
lblWarning.Visible = false;
if (eh_resetSelezione != null)
{
eh_resetSelezione(this, new EventArgs());
}
}
#endregion
#endregion
#region gestione eventi
public event EventHandler eh_resetSelezione;
public event EventHandler eh_nuovoValore;
#endregion
#region area da modificare
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!Page.IsPostBack)
{
mod_newOdl1.Visible = false;
grView.PageSize = pageSize;
}
mod_newOdl1.eh_nuovoValore += new EventHandler(mod_newOdl1_eh_nuovoValore);
}
/// inizializzazione valori di default
/// </summary>
/// <param name="e"></param>
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
_idxGridView = "IdxODL";
}
/// <summary>
/// nuovo valore creato...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void mod_newOdl1_eh_nuovoValore(object sender, EventArgs e)
{
// nascondo controllo e mostro button
mod_newOdl1.Visible = false;
btnNewOdl.Visible = true;
// aggiorno!
resetSelezione();
}
/// <summary>
/// elenco colonne del datagrid
/// </summary>
/// <returns></returns>
protected DataColumnCollection colonneObj()
{
MapoDb.DS_ProdTempi.ODLDataTable tabella = new MapoDb.DS_ProdTempi.ODLDataTable();
DataColumnCollection colonne = tabella.Columns;
return colonne;
}
public bool delEnabled(object _idxOdl)
{
bool answ = false;
int idxOdl = 0;
// controllo non sia già stata iniziata la produzione sennò non posso cancellare...
try
{
idxOdl = Convert.ToInt32(_idxOdl);
answ = (MapoDb.DataLayer.obj.taODL.getByIdx(idxOdl, true).Count > 0);
}
catch
{ }
return answ;
}
/// <summary>
/// mostra creazione nuovo ODL
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNewOdl_Click(object sender, EventArgs e)
{
// mostro controllo creazione ODL
mod_newOdl1.Visible = true;
divEditQta.Visible = false;
btnNewOdl.Visible = false;
grView.SelectedIndex = -1;
grView.DataBind();
}
/// <summary>
/// formatot url x stampa ODL
/// </summary>
/// <param name="idx"></param>
/// <returns></returns>
public string formattaUrlOdl(object idx)
{
string answ = String.Format(memLayer.ML.CRS("exportFormat1"), Convert.ToInt32(reportRichiesto.SchedaODL), idx);
return answ;
}
/// <summary>
/// cambio dim pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtPageSize_TextChanged(object sender, EventArgs e)
{
grView.PageSize = pageSize;
}
/// <summary>
/// verifica se ODL sia current = aperto (iniziato, NON concluso)
/// </summary>
/// <param name="DataInizio"></param>
/// <param name="DataFine"></param>
/// <returns></returns>
public bool OdlIsCurrent(object DataInizio, object DataFine)
{
bool answ = false;
try
{
if ((DataInizio.ToString() == "") && (DataFine.ToString() == ""))
{
answ = true;
}
}
catch
{ }
if (!answ)
{
try
{
if ((Convert.ToDateTime(DataInizio) <= DateTime.Now) && (DataFine.ToString() == ""))
{
answ = true;
}
}
catch
{ }
}
return answ;
}
#endregion
protected void btnOk_Click(object sender, EventArgs e)
{
if (idxOdlSel > 0)
{
DataLayer.obj.taODL.updateQta(numPz, pzPallet, idxOdlSel);
}
updateCtrl();
}
private void updateCtrl()
{
divEditQta.Visible = false;
grView.SelectedIndex = -1;
grView.DataBind();
}
/// <summary>
/// idxOdl selezionato
/// </summary>
protected int idxOdlSel
{
get
{
int answ = 0;
try
{
answ = Convert.ToInt32(grView.SelectedValue);
}
catch
{ }
return answ;
}
}
/// <summary>
/// Nuovo num pz
/// </summary>
protected int numPz
{
get
{
int answ = 0;
try
{
answ = Convert.ToInt32(txtNewQta.Text.Trim());
}
catch
{ }
return answ;
}
set
{
txtNewQta.Text = value.ToString();
}
}
/// <summary>
/// Nuovo num pz per pallet
/// </summary>
protected int pzPallet
{
get
{
int answ = 1;
try
{
answ = Convert.ToInt32(txtNewPzPallet.Text.Trim());
}
catch
{ }
// controllo sia > 0...
if (answ < 1) answ = 1;
return answ;
}
set
{
txtNewPzPallet.Text = value.ToString();
}
}
protected void btnCancel_Click(object sender, EventArgs e)
{
updateCtrl();
}
/// <summary>
/// effettua traduzione del lemma
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return user_std.UtSn.Traduci(lemma);
}
/// <summary>
/// effettua traduzione in inglese del lemma
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduciEn(string lemma)
{
return user_std.UtSn.TraduciEn(lemma);
}
/// <summary>
/// resetta la selezione dei valori in caso di modifiche su altri controlli
/// </summary>
public void resetSelezione()
{
SteamWare.memLayer.ML.emptySessionVal(string.Format("{0}_sel", _idxGridView));
grView.SelectedIndex = -1;
grView.DataBind();
divEditQta.Visible = false;
mod_newOdl1.Visible = false;
lbtNewODL.Visible = enableCreateNew;
lblWarning.Visible = false;
if (eh_resetSelezione != null)
{
eh_resetSelezione(this, new EventArgs());
}
}
#endregion
#endregion
#region gestione eventi
public event EventHandler eh_resetSelezione;
public event EventHandler eh_nuovoValore;
#endregion
#region area da modificare
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!Page.IsPostBack)
{
mod_newOdl1.Visible = false;
grView.PageSize = pageSize;
lbtNewODL.Visible = enableCreateNew;
}
mod_newOdl1.eh_nuovoValore += new EventHandler(mod_newOdl1_eh_nuovoValore);
}
public bool enableCreateNew
{
get
{
return !memLayer.ML.CRB("enableRPO");
}
}
/// inizializzazione valori di default
/// </summary>
/// <param name="e"></param>
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
_idxGridView = "IdxODL";
}
/// <summary>
/// nuovo valore creato...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void mod_newOdl1_eh_nuovoValore(object sender, EventArgs e)
{
// nascondo controllo e mostro button
mod_newOdl1.Visible = false;
lbtNewODL.Visible = enableCreateNew;
// aggiorno!
resetSelezione();
}
/// <summary>
/// elenco colonne del datagrid
/// </summary>
/// <returns></returns>
protected DataColumnCollection colonneObj()
{
MapoDb.DS_ProdTempi.ODLDataTable tabella = new MapoDb.DS_ProdTempi.ODLDataTable();
DataColumnCollection colonne = tabella.Columns;
return colonne;
}
public bool delEnabled(object _idxOdl)
{
bool answ = false;
int idxOdl = 0;
// controllo non sia già stata iniziata la produzione sennò non posso cancellare...
try
{
idxOdl = Convert.ToInt32(_idxOdl);
answ = (MapoDb.DataLayer.obj.taODL.getByIdx(idxOdl, true).Count > 0);
}
catch
{ }
return answ;
}
/// <summary>
/// mostra creazione nuovo ODL
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtNewODL_Click(object sender, EventArgs e)
{
// mostro controllo creazione ODL
mod_newOdl1.Visible = true;
divEditQta.Visible = false;
lbtNewODL.Visible = false;
grView.SelectedIndex = -1;
grView.DataBind();
}
/// <summary>
/// formatot url x stampa ODL
/// </summary>
/// <param name="idx"></param>
/// <returns></returns>
public string formattaUrlOdl(object idx)
{
string answ = String.Format(memLayer.ML.CRS("exportFormat1"), Convert.ToInt32(reportRichiesto.SchedaODL), idx);
return answ;
}
/// <summary>
/// cambio dim pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtPageSize_TextChanged(object sender, EventArgs e)
{
grView.PageSize = pageSize;
}
/// <summary>
/// verifica se ODL sia current = aperto (iniziato, NON concluso)
/// </summary>
/// <param name="DataInizio"></param>
/// <param name="DataFine"></param>
/// <returns></returns>
public bool OdlIsCurrent(object DataInizio, object DataFine)
{
bool answ = false;
try
{
if ((DataInizio.ToString() == "") && (DataFine.ToString() == ""))
{
answ = true;
}
}
catch
{ }
if (!answ)
{
try
{
if ((Convert.ToDateTime(DataInizio) <= DateTime.Now) && (DataFine.ToString() == ""))
{
answ = true;
}
}
catch
{ }
}
return answ;
}
#endregion
protected void btnOk_Click(object sender, EventArgs e)
{
if (idxOdlSel > 0)
{
DataLayer.obj.taODL.updateQta(numPz, pzPallet, idxOdlSel);
}
updateCtrl();
}
private void updateCtrl()
{
divEditQta.Visible = false;
grView.SelectedIndex = -1;
grView.DataBind();
}
/// <summary>
/// idxOdl selezionato
/// </summary>
protected int idxOdlSel
{
get
{
int answ = 0;
try
{
answ = Convert.ToInt32(grView.SelectedValue);
}
catch
{ }
return answ;
}
}
/// <summary>
/// Nuovo num pz
/// </summary>
protected int numPz
{
get
{
int answ = 0;
try
{
answ = Convert.ToInt32(txtNewQta.Text.Trim());
}
catch
{ }
return answ;
}
set
{
txtNewQta.Text = value.ToString();
}
}
/// <summary>
/// Nuovo num pz per pallet
/// </summary>
protected int pzPallet
{
get
{
int answ = 1;
try
{
answ = Convert.ToInt32(txtNewPzPallet.Text.Trim());
}
catch
{ }
// controllo sia > 0...
if (answ < 1)
{
answ = 1;
}
return answ;
}
set
{
txtNewPzPallet.Text = value.ToString();
}
}
protected void btnCancel_Click(object sender, EventArgs e)
{
updateCtrl();
}
/// <summary>
/// Aggiorno Gridview
/// </summary>
private void updateGrView()
{
grView.DataBind();
}
/// <summary>
/// IdxMacchina filtrata
/// </summary>
protected string idxMacc
{
get
{
return lblIdxMacc.Text;
}
set
{
lblIdxMacc.Text = value;
}
}
/// <summary>
/// Nome filtrata
/// </summary>
protected string NomeMacc
{
get
{
return lblNomeMacc.Text;
}
set
{
lblNomeMacc.Text = value;
}
}
/// <summary>
/// CodArt filtrato
/// </summary>
protected string CodArt
{
get
{
return lblCodArt.Text;
}
set
{
lblCodArt.Text = value;
}
}
/// <summary>
/// CodArt filtrato
/// </summary>
protected string DescArt
{
get
{
return lblDescArt.Text;
}
set
{
lblDescArt.Text = value;
}
}
/// <summary>
/// Selezionato un condominio --> riporto selezione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtSelArt_Click(object sender, EventArgs e)
{
LinkButton lb = (LinkButton)sender;
// imposto articolo, splittando
string[] artData = lb.CommandArgument.Split('|');
CodArt = artData[0];
DescArt = artData[1];
updateGrView();
}
/// <summary>
/// Selezionato un condominio --> riporto selezione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtSelMacc_Click(object sender, EventArgs e)
{
LinkButton lb = (LinkButton)sender;
// imposto articolo, splittando
string[] maccData = lb.CommandArgument.Split('|');
idxMacc = maccData[0];
NomeMacc = maccData[1];
updateGrView();
}
protected void lbtResArt_Click(object sender, EventArgs e)
{
CodArt = "";
DescArt = "";
updateGrView();
}
protected void lbtResMacc_Click(object sender, EventArgs e)
{
idxMacc = "";
NomeMacc = "";
updateGrView();
}
}
}
+56 -2
View File
@@ -13,13 +13,13 @@ namespace MoonPro_site.WebUserControls {
public partial class mod_gestioneODL {
/// <summary>
/// Controllo btnNewOdl.
/// Controllo lbtNewODL.
/// </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.Button btnNewOdl;
protected global::System.Web.UI.WebControls.LinkButton lbtNewODL;
/// <summary>
/// Controllo mod_newOdl1.
@@ -75,6 +75,60 @@ namespace MoonPro_site.WebUserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnCancel;
/// <summary>
/// Controllo lbtResArt.
/// </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 lbtResArt;
/// <summary>
/// Controllo lblCodArt.
/// </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 lblCodArt;
/// <summary>
/// Controllo lblDescArt.
/// </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 lblDescArt;
/// <summary>
/// Controllo lbtResMacc.
/// </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 lbtResMacc;
/// <summary>
/// Controllo lblNomeMacc.
/// </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 lblNomeMacc;
/// <summary>
/// Controllo lblIdxMacc.
/// </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 lblIdxMacc;
/// <summary>
/// Controllo grView.
/// </summary>