Update modalità display in selezione dettaglio

This commit is contained in:
Samuele Locatelli
2022-04-08 11:18:34 +02:00
parent c7fbfff64f
commit e83a223aa3
5 changed files with 103 additions and 50 deletions
+6 -3
View File
@@ -20,7 +20,8 @@
<div class="card-body">
<div class="row">
<div runat="server" id="divMain" class="col-12">
<asp:GridView runat="server" ID="grView" AutoGenerateColumns="False" DataKeyNames="CodCliente" DataSourceID="ods" CssClass="table table-sm table-striped small" AllowPaging="True" OnRowDeleted="grView_RowDeleted" OnRowEditing="grView_RowEditing" OnSelectedIndexChanging="grView_SelectedIndexChanging">
<asp:HiddenField runat="server" ID="hfShowDet" />
<asp:GridView runat="server" ID="grView" AutoGenerateColumns="False" DataKeyNames="CodCliente" DataSourceID="ods" CssClass="table table-sm table-striped small" AllowPaging="True" OnRowDeleted="grView_RowDeleted" OnRowEditing="grView_RowEditing" OnSelectedIndexChanging="grView_SelectedIndexChanging" OnRowCreated="grView_RowCreated">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
@@ -151,8 +152,10 @@
</UpdateParameters>
</asp:ObjectDataSource>
</div>
<div runat="server" id="divDetail" class="col-4">
<uc1:cmp_destClienti runat="server" ID="cmp_destClienti" />
<div runat="server" id="divDetail" class="col-5 table-info pl-0">
<div class="table-light p-2">
<uc1:cmp_destClienti runat="server" ID="cmp_destClienti" />
</div>
</div>
</div>
</div>
+82 -47
View File
@@ -5,6 +5,25 @@ namespace MP_MAG.WebUserControls
{
public partial class cmp_AnagCliFor : BaseUserControl
{
#region Protected Properties
protected bool showDet
{
get
{
bool answ = false;
bool.TryParse(hfShowDet.Value, out answ);
return answ;
}
set
{
hfShowDet.Value = $"{value}";
fixDetailView(value);
}
}
#endregion Protected Properties
#region Private Methods
private void Cmp_numRow_eh_doRefresh(object sender, EventArgs e)
@@ -16,51 +35,19 @@ namespace MP_MAG.WebUserControls
#region Protected Methods
/// <summary>
/// comando reset
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtReset_Click(object sender, EventArgs e)
protected void fixDetailView(bool showDetail)
{
doReset();
raiseReset();
}
/// <summary>
/// Aggiunta nuovo record
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtAddNew_Click(object sender, EventArgs e)
{
MagDataLayerObj.taACF.insertQuery("__CodiceCliente", "Nuova Ragione Sociale", "Nuovo Indirizzo", "Nuova Località", "00000", "BA", "IT", false, true);
doReset();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
divMain.Visible = true;
divDetail.Visible = showDetail;
string mainCss = showDetail ? "col-7 pr-0" : "col-12";
divMain.Attributes.Remove("class");
divMain.Attributes.Add("class", mainCss);
for (int i = 7; i < 11; i++)
{
grView.PageSize = cmp_numRow.numRow;
fixDetailView(false);
grView.Columns[i].Visible = !showDet;
}
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
}
#endregion Protected Methods
#region Public Methods
public void doReset()
{
grView.SelectedIndex = -1;
grView.DataBind();
fixDetailView(false);
}
#endregion Public Methods
protected void grView_RowDeleted(object sender, System.Web.UI.WebControls.GridViewDeletedEventArgs e)
{
doReset();
@@ -74,16 +61,64 @@ namespace MP_MAG.WebUserControls
protected void grView_SelectedIndexChanging(object sender, System.Web.UI.WebControls.GridViewSelectEventArgs e)
{
cmp_destClienti.codCli = $"{grView.SelectedValue}";
fixDetailView(true);
showDet = true;
}
protected void fixDetailView(bool showDetail)
/// <summary>
/// Aggiunta nuovo record
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtAddNew_Click(object sender, EventArgs e)
{
divMain.Visible = true;
divDetail.Visible = showDetail;
string mainCss = showDetail? "col-8": "col-12";
divMain.Attributes.Remove("class");
divMain.Attributes.Add("class", mainCss);
MagDataLayerObj.taACF.insertQuery("__CodiceCliente", "Nuova Ragione Sociale", "Nuovo Indirizzo", "Nuova Località", "00000", "BA", "IT", false, true);
doReset();
}
/// <summary>
/// comando reset
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtReset_Click(object sender, EventArgs e)
{
doReset();
raiseReset();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
grView.PageSize = cmp_numRow.numRow;
showDet = false;
}
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
}
#endregion Protected Methods
#region Public Methods
public void doReset()
{
grView.SelectedIndex = -1;
grView.DataBind();
showDet = false;
}
#endregion Public Methods
protected void grView_RowCreated(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
//// determino visibilità conollse in caso di selezione dettaglio
//for (int i = 7; i < 10; i++)
//{
// e.Row.Cells[i].Visible = showDet;
//}
//e.Row.Cells[8].Visible = showDet;
//e.Row.Cells[9].Visible = showDet;
//e.Row.Cells[10].Visible = showDet;
}
}
}
+9
View File
@@ -41,6 +41,15 @@ namespace MP_MAG.WebUserControls
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divMain;
/// <summary>
/// hfShowDet control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowDet;
/// <summary>
/// grView control.
/// </summary>
@@ -1,6 +1,11 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_destClienti.ascx.cs" Inherits="MP_MAG.WebUserControls.cmp_destClienti" %>
<asp:HiddenField runat="server" ID="hfCodCli" />
<asp:GridView runat="server" ID="grView" AutoGenerateColumns="False" DataKeyNames="CodCliente,CodDestinazione" DataSourceID="ods" CssClass="table table-sm table-striped small" AllowPaging="True">
<EmptyDataTemplate>
<div class="alert alert-warning">
<h4>0 Record Found</h4>
</div>
</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="CodCliente" HeaderText="CodCliente" ReadOnly="True" SortExpression="CodCliente" />
<asp:BoundField DataField="CodDestinazione" HeaderText="CodDestinazione" ReadOnly="True" SortExpression="CodDestinazione" />
@@ -23,6 +23,7 @@ namespace MP_MAG.WebUserControls
set
{
hfCodCli.Value = value;
grView.DataBind();
}
}
}