。net逻辑判断问题
如果任务编码下没有收费序号就显示新建并且页面为空,如果 任务编码下游对应的收费序号则显示保存,如果有多个则显示上下页和保存,上下页可以查看同一个任务编码下的所有收费记录。using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using AnchorV7.FirstAidManager.SE.Model;
using System.Web.UI.HtmlControls;
using System.Data;
using SQLServerDAL;
//------------------------------------------------------------------------------
/// FileName: MedicalManagement_ChargeRecord
/// Function: 收费记录页面
/// Author: 刘爱青
/// Date: 2011-6-3
/// Modified:
//------------------------------------------------------------------------------
public partial class MedicalManagement_ChargeRecord : System.Web.UI.Page
{
private static int ChargeItemNumber = 1; //收费序号
public string TaskCode
{
get
{
object o = ViewState["TaskCode"];
return (o == null) ? String.Empty : (string)o;
}
set
{
ViewState["TaskCode"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
//SessionHelper.ValidateLogin(Response, Session);//防止通过链接强行进入
if (!IsPostBack)
{
InitPage();
}
TaskCode = "20110317205726020101";
string sql = " select * from TChargeRecordDetailPT where 任务编码='TaskCode'and 收费序号=(select min(收费序号) from TChargeRecordDetailPT where 任务编码='TaskCode')";
object ob = DBHelper.GetScalar(sql);
if (ob == null)
{
return;
}
else
{
}
}
/// <summary>
/// 页面初始化
/// </summary>
private void InitPage()
{
//TaskCode = Request.QueryString["TaskCode"];
TaskCode = "20110317205726020101";
string sql1 = "SELECT TOP 23 收费项编码,收费项名称,收费金额 FROM TChargeItemPT WHERE (收费金额 IS NOT NULL)";
DataTable dt1 = DBHelper.GetTable(sql1);
GridView_ChargeRecord1.DataSource = dt1;
GridView_ChargeRecord1.DataBind();
string sql2 = "SELECT 收费项编码,收费项名称,收费金额 FROM TChargeItemPT WHERE (收费金额 IS NOT NULL) and 29<=编码 and 编码<=52";
DataTable dt2 = DBHelper.GetTable(sql2);
GridView_ChargeRecord2.DataSource = dt2;
GridView_ChargeRecord2.DataBind();
}
protected void Btn_onClick1(object sender, GridViewCommandEventArgs e)
{
int RowIndex = Convert.ToInt32(e.CommandArgument); //取得行号
DataKey keys = GridView_ChargeRecord1.DataKeys[RowIndex]; //取得行中数据
string ChargeItemName = (string)keys.Values["收费项名称"];
float Price = Convert.ToSingle(keys.Values["收费金额"]);
HtmlInputText tb = (HtmlInputText)GridView_ChargeRecord1.Rows[RowIndex].FindControl("TextBox_Amout1");
tb.Value = Price.ToString();
}
protected void Btn_onClick2(object sender, GridViewCommandEventArgs e)
{
int RowIndex = Convert.ToInt32(e.CommandArgument); //取得行号
DataKey keys = GridView_ChargeRecord2.DataKeys[RowIndex]; //取得行中数据
string ChargeItemName = (string)keys.Values["收费项名称"];
float Price = Convert.ToSingle(keys.Values["收费金额"]);
HtmlInputText tb = (HtmlInputText)GridView_ChargeRecord2.Rows[RowIndex].FindControl("TextBox_Amout2");
tb.Value = Price.ToString();
}
/// <summary>
/// 保存
/// </summary>
protected void BtnSave_onClick(object sender, EventArgs e)
{
string StationCode = "013";
List<ChargeRecordDetailInfo> crList = new List<ChargeRecordDetailInfo>();
for (int i = 0; i < GridView_ChargeRecord1.Rows.Count; i++)
{
DataKey keys = GridView_ChargeRecord1.DataKeys[i];
string ChargeItemId = (string)keys.Values["收费项编码"];
GridViewRow gvr = GridView_ChargeRecord1.Rows[i];
HtmlInputText tb = (HtmlInputText)gvr.FindControl("TextBox_Amout1");
string sqlChargeOrder= "select top 1 (收费单编号) from dbo.TChargeRecordDetailPT ";
int OrderNum = Convert.ToInt32(((string)DBHelper.GetScalar(sqlChargeOrder)).Substring(10, 14));
int num = OrderNum + 1;
string ChargeOrderNumber = "'PT' + '" + StationCode + "' + '" + DateTime.Now.Year + "' + 'num' ";
if (tb.Value == "")
{
continue;
}
else
{
ChargeRecordDetailInfo crInfo = new ChargeRecordDetailInfo();
crInfo.TaskCode = TaskCode;
crInfo.ChargeItemId = ChargeItemId;
crInfo.Price = Convert.ToSingle(tb.Value);
crInfo.ChargeItemNumber = ChargeItemNumber;
crInfo.StationCode = StationCode;
crInfo.Remark = "";
crList.Add(crInfo);
}
}
ChargeRecordDAL crDAL = new ChargeRecordDAL();
if (crDAL.SaveCharge(crList))
{
Response.Write("<script>alert('保存成功!')</script>");
}
else
{
Response.Write("<script>alert('保存失败!')</script>");
}
}
}
补充:.NET技术 , ASP.NET