📄 pricemenu.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class PriceMenu : System.Web.UI.Page
{
/************************事件处理函数***************************/
#region 事件处理函数
protected void Page_Load(object sender, EventArgs e)
{
if ( !Page.IsPostBack )
{
PopulatePriceItem();
btnDel.Enabled = false; // 删除价格
btnImport.Enabled = false; // 导入价格
btnEdit.Enabled = false; // 编辑价格
btnPublish.Enabled = false; // 发布价格
btnAbandon.Enabled = false; // 废弃价格
trvPrice.CollapseAll();
}
btnDel.Attributes.Add("script","return confirm('是否确定删除价格')");
}
/// <summary>
/// 选择结点时触发(NavigateNrl设置后,此事件不会触发)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trvPrice_SelectedNodeChanged(object sender, EventArgs e)
{
}
/// <summary>
/// CheckBox勾选状态发生变化时触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trvPrice_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
TreeNode evnNode = e.Node; // 触发事件的节点对象
if ( 0 == evnNode.Depth ) // 选择价格节点
{
int iCheckedCount = 0; // 勾选的价格个数
for (int i=0; i<trvPrice.Nodes.Count;i++)
{
if ( trvPrice.Nodes[i].Checked )
iCheckedCount ++;
}
if (1 != iCheckedCount)
{
btnDel.Enabled = false;
btnImport.Enabled = false;
btnEdit.Enabled = false;
btnPublish.Enabled = false;
btnAbandon.Enabled = false;
}
else
{
string strVersion = evnNode.Value; // 价格版本号
string strSQL_PrcStatus = "SELECT 状态 FROM priceInfo WHERE 价格版本号 LIKE '" + strVersion + "'";
DBConnector dbConn = new DBConnector();
int iStatus = dbConn.QueryIntValue( strSQL_PrcStatus );
switch ( iStatus )
{
case 1: // 制作中
btnPublish.Enabled = true;
btnAbandon.Enabled = false;
break;
case 2: // 完成 Lagacy
break;
case 3: // 发布
btnPublish.Enabled = false;
btnAbandon.Enabled = true;
break;
case 4: // 废弃
btnPublish.Enabled = true;
btnAbandon.Enabled = false;
break;
}
btnDel.Enabled = true;
}
}
else if ( 1 == evnNode.Depth ) // 选择厂牌节点
{
if ("全部" == ddlComStatus.SelectedValue)
{
btnImport.Enabled = false;
btnEdit.Enabled = false;
return;
}
int iCheckChange = 0;
if (evnNode.Checked)
{
for (int i = 0; i < evnNode.ChildNodes.Count; i++)
{
if ( !evnNode.ChildNodes[i].Checked )
{
evnNode.ChildNodes[i].Checked = true;
iCheckChange++;
}
}
}
else
{
for (int i = 0; i < evnNode.ChildNodes.Count; i++ )
{
if ( evnNode.ChildNodes[i].Checked )
{
evnNode.ChildNodes[i].Checked = false;
iCheckChange--;
}
}
}
int iSumCount = Convert.ToInt32( hidCheckedModelCount.Value );
iSumCount += iCheckChange;
hidCheckedModelCount.Value = "" + iSumCount;
int iModelCount = 0;
iModelCount = GetCheckedItemCount( evnNode );
if (iSumCount != iModelCount || 0==iSumCount )
{
btnImport.Enabled = false;
btnEdit.Enabled = false;
return;
}
if ("已导入" == ddlComStatus.SelectedValue)
{
btnImport.Enabled = false;
btnEdit.Enabled = true;
}
else if ("未导入" == ddlComStatus.SelectedValue)
{
btnImport.Enabled = true;
btnEdit.Enabled = false;
}
}
else if ( 2 == evnNode.Depth ) // 选择车系结点
{
if ("全部" == ddlComStatus.SelectedValue)
{
btnImport.Enabled = false;
btnEdit.Enabled = false;
return;
}
int iSumCount = Convert.ToInt32( hidCheckedModelCount.Value );
if (evnNode.Checked)
iSumCount++;
else
{
evnNode.Parent.Checked = false;
iSumCount--;
}
hidCheckedModelCount.Value = "" + iSumCount;
int iModelCount = 0; // 所在厂牌选择的车系数
iModelCount = GetCheckedItemCount( evnNode.Parent ); // 取得子节点勾选的项目数
if ( iSumCount!=iModelCount || 0==iSumCount ) // 所勾选的车系不在同一厂牌中
{
btnImport.Enabled = false;
btnEdit.Enabled = false;
return;
}
if (0 == ddlComStatus.SelectedValue.CompareTo("未导入"))
{
btnImport.Enabled = true;
btnEdit.Enabled = false;
}
else
{
btnImport.Enabled = false;
btnEdit.Enabled = true;
}
}
}
/// <summary>
/// Combo选项发生变化时触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPriceItemFilter_SelectedIndexChanged(object sender, EventArgs e)
{
trvPrice.Nodes.Clear();
PopulatePriceItem();
}
/// <summary>
/// Combo选项发生变化时触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlComStatus_SelectedIndexChanged(object sender, EventArgs e)
{
if ("全部" == ddlComStatus.SelectedValue)
{
btnImport.Enabled = false;
btnEdit.Enabled = false;
}
trvPrice.Nodes.Clear();
PopulatePriceItem();
}
/// <summary>
/// 删除价格
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDel_Click(object sender, EventArgs e)
{
string strVersion = null;
for (int i = 0; i < trvPrice.Nodes.Count; i++ )
{
if ( trvPrice.Nodes[i].Checked )
{
strVersion = trvPrice.Nodes[i].Value;
}
}
if (null == strVersion)
return;
DBConnector dbConn = new DBConnector();
string strSQL_Level = "SELECT 级别名称 FROM level INNER JOIN priceInfo ON priceInfo.价格层次=level.级别层次 WHERE priceInfo.价格版本号 LIKE '" + strVersion + "'";
string strLevelName = dbConn.QueryString( strSQL_Level );
if (null == strLevelName)
return;
if ("临时" != strLevelName)
{
MessageBox.Show(this, "此层次价格不能删除");
return;
}
string strSQL_TableName = "SELECT 数据表名称 FROM priceInfo WHERE 价格版本号 LIKE '" + strVersion + "'";
string strTableName = dbConn.QueryString( strSQL_TableName );
string strSQL_ClrTable = "DELETE TABEL " + strTableName;
dbConn.Execute( strSQL_ClrTable );
string strSQL_ClrStatus = "DELETE FROM MatchStatus WHERE Version LIKE '" + strVersion + "'";
dbConn.Execute( strSQL_ClrStatus );
string strSQL_ClrPrice = "DELETE FROM priceInfo WHERE 价格版本号 LIKE '" + strVersion + "'";
dbConn.Execute( strSQL_ClrPrice );
}
/// <summary>
/// 导入价格
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
/////////////////////////////////////////////////////////////
// 锁定窗口
trvPrice.Enabled = false;
btnImport.Enabled = false;
btnEdit.Enabled = false;
ddlPriceItemFilter.Enabled = false;
ddlComStatus.Enabled = false;
/////////////////////////////////////////////////////////////
string strVersion = null;
string strModels = null;
for (int i = 0; i < trvPrice.Nodes.Count; i++ ) // 价格
{
TreeNode tnPrice = trvPrice.Nodes[i];
for (int j = 0; j < tnPrice.ChildNodes.Count; j++ ) // 厂牌
{
TreeNode tnMake = tnPrice.ChildNodes[j];
for (int k = 0; k < tnMake.ChildNodes.Count; k++ ) // 车系
{
TreeNode tnModel = tnMake.ChildNodes[k];
if ( tnModel.Checked )
{
strVersion = tnModel.ValuePath.Split('/')[0];
strModels += tnModel.Value + ",";
}
}
}
}
if ( null == strModels )
return;
strModels = strModels.Remove( strModels.Length-1, 1 );
string strScript = "<script language='javascript'>" +
"parent.frames['Main_Bottom_MainFrame'].location = 'ImportMenu.aspx?version=" + strVersion + "&models="+strModels+" ';" +
"document.all.Button1.disabled = 'true';" +
"</script>";
ClientScript.RegisterStartupScript( this.GetType(), "clientScript", strScript );
}
/// <summary>
/// 编辑价格
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnEdit_Click(object sender, EventArgs e)
{
/////////////////////////////////////////////////////////////
// 锁定窗口
trvPrice.Enabled = false;
btnImport.Enabled = false;
btnEdit.Enabled = false;
ddlPriceItemFilter.Enabled = false;
ddlComStatus.Enabled = false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -