获取当前表单在流程中的状态:

/// <summary>
/// 获取当前表单在流程表中的状态
/// </summary>
/// <param name="listid"></param>
/// <returns></returns>
public static String getAuditingSateByCondition(string listid)
{
object obj = SqlComm.GetObjectByCondition("TaskListRecord", " TOP 1 AuditingSate ", " ListID=" + listid + " ORDER BY ListID desc");
if (obj != null)
{
return obj.ToString();
}
else
{
return null;
}
}

判断选中的状态:

//根据表单单号在流程表中查询历史审批记录绑定信息
this.lbRemarks.Text= SqlComm.getTaskListRecordsMindsByCondition(taskid, ((int)TaskNavigateEmun.ProPurchase).ToString());
if (SqlComm.getAuditingSateByCondition("listid") == "2")
{
this.cb_Stock.Checked = true;
}

商品采购审核单详细信息查看:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProPurchaseShow.aspx.cs"
Inherits="BioErpWeb.WholeSaleSystem.ProPurchase.ProPurchaseShow" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="../../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="../../Scripts/validateExtender.js" type="text/javascript"></script>
<script src="../../Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.metadata.js" type="text/javascript"></script>
<link href="../../Styles/InputStyle1.css" rel="stylesheet" type="text/css" />
<script src="../../JS/CheckDepartMent.js" type="text/javascript"></script>
<link href="../../Styles/CalenderStyle.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/cld.js" type="text/javascript"></script>
<script src="../../JS/CheckUserName.js" type="text/javascript"></script>
<script src="../../JS/CustomerName.js" type="text/javascript"></script>
<script src="../../JS/ProNameChoose.js" type="text/javascript"></script>
<script src="../../Scripts/Comm.js" type="text/javascript"></script>
<style type="text/css">
#pricetable
{
border: none;
width: 99%;
}
#pricetable td
{
border: none;
}
#divprobatch
{
width: 99%;
border: none;
}
#divprobatch table
{
width: 100%;
border: none;
}
#divprobatch table td
{
border: none;
padding-right: 2px;

}
.grayborder{ border:solid 1px #ccc;}
.bordernone{ border-left:none; border-top:none; border-right:none; border-bottom:none;}
</style>

<script type="text/javascript">
var tri = 0;
$(document).ready(function () {
$("#form1").validate();
$(document).find("input[type='text']").each(function () {
$(this).attr("readonly", "true");
});

$(document).find("input[type='checkbox']").each(function () {
$(this).attr("disabled", "disabled");
})

$("#trprotitle").css("background-color", "#eee");
$("#probatchtr").css("background-color", "#eee");

});
function addrows(count) {

for (var i = 0; i < count; i++) {
tri++;
var tr = '<tr id="tr' + tri + '"><td><input type="text" name="proName" class="required"
style=" width:294px"/><input type="hidden" name="proID" /></td><td><input type="text" name="proCount" class="{required:true,min:1,digits:true}"
style=" width:150px"/></td><td colspan="2"><input type="text" name="proPrice" class="{required:true,min:0.1,number:true}" style=" width:150px"/>
<input type="hidden" name="purchaseProID"/></td></tr>';
var obj = $("#troption");
$(obj).after(tr);

}
}

//产品信息赋值
function setValues(proName, proID, proCount, proPrice, purchaseProID) {

var proNames = proName.split(',');
var proIDs = proID.split(',');
var proCounts = proCount.split(',');
var proPrices = proPrice.split(',');
var purchaseProIDs=purchaseProID.split(',');
var txtProName = document.getElementsByName("proName");
var txtProID = document.getElementsByName("proID");
var txtProCount = document.getElementsByName("proCount");
var txtproPrice = document.getElementsByName("proPrice");
var txtpurchaseProID = document.getElementsByName("purchaseProID");
for (var i = 0; i <(proIDs.length-1); i++) {
txtProName[i].value = proNames[i];
txtProID[i].value = proIDs[i];
txtProCount[i].value = proCounts[i];
txtproPrice[i].value = proPrices[i];
txtpurchaseProID[i].value = purchaseProIDs[i];

}

}

function deleterow() {
var obj = window.event.srcElement;
var parenttr = obj.parentNode.parentNode;
$(parenttr).remove();

}


//根据后台传过来的产品批次个数,添加相应行数
function setaddbatchs(count) {
var trbatch = '<tr> <td id="td2"><input id="txtProName0" value="" readonly="readonly" name="txtProName0"
style="width: 294px" type="text" class="input" size="50" /><input type="hidden" name="proIds" value=""/> </td>';
trbatch += '<td><input id="txtProCount0" name="txtProCount0" class="{required:true,min:1,digits:true}"
type="text" size="5" /></td><td><input id="txtProBatch0" name="txtProBatch0" type="text" size="11" /> </td>';
trbatch += '<td><input id="txtProBoxNum0" name="txtProBoxNum0" value="" readonly="readonly" type="text" size="11" /> </td>';
trbatch += '<td><input id="txtMarkDate0" name="txtMarkDate0" onfocus="setday(this)" onclick="setday(this)"
size="11" class="{required:true,dateISO:true}" type="text" readonly="readonly" /></td>';
trbatch += '<td><input id="txtExPirationDate0" onfocus="setday(this)"
onclick="setday(this)" name="txtExPirationDate0" class="{required:true,dateISO:true}" size="11" type="text" readonly="readonly" />';
trbatch += '</td><td><input type="hidden" value="" name="PurchaseProID2"/>';
trbatch += '</td></tr>';
for (var i = 0; i < count; i++) {
$("#probatchtr").after(trbatch);
}
}

function setbatchsvalues(proname, proId, txtProCount, txtProBatch, txtProBoxNum, txtMarkDate, txtExPirationDate, PurchaseProID) {

var pronames = proname.split(",");
var proIds = proId.split(",");
var ProCouns = txtProCount.split(",");
var ProBatchs = txtProBatch.split(",");
var ProBoxNums = txtProBoxNum.split(",");
var MarkDates = txtMarkDate.split(",");
var ExPirationDates = txtExPirationDate.split(",");
var PurchaseProIDs = PurchaseProID.split(",");


var txtProName0s = document.getElementsByName("txtProName0");
var txtproIds = document.getElementsByName("proIds")
var txtProCount0 = document.getElementsByName("txtProCount0");
var txtProBatch0 = document.getElementsByName("txtProBatch0");
var txtProBoxNum0 = document.getElementsByName("txtProBoxNum0");
var txtMarkDate0 = document.getElementsByName("txtMarkDate0");
var txtExPirationDate0 = document.getElementsByName("txtExPirationDate0");
var PurchaseProID2 = document.getElementsByName("PurchaseProID2");

for (var i = 0; i < txtProName0s.length; i++) {
txtProName0s[i].value = pronames[i];
txtproIds[i].value = proIds[i];
txtProCount0[i].value = ProCouns[i];
txtProBatch0[i].value = ProBatchs[i];
txtProBoxNum0[i].value = ProBoxNums[i];
txtMarkDate0[i].value = MarkDates[i];
txtExPirationDate0[i].value = ExPirationDates[i];
PurchaseProID2[i].value = PurchaseProIDs[i];

}
}
</script>

</head>
<body>
<form id="form1" runat="server">
<div style=" width:99%; height:750px; overflow:scroll;">
<table class="maintable Inupttable" style="width: 900px;">
<tr>
<td colspan="8" class="titlebar">
商品采购审核单详细信息查看
</td>
</tr>
<tr>
<td>
申请部门
</td>
<td>
<asp:TextBox ID="ddlDepartMent" runat="server"></asp:TextBox>
</td>
<td>
制表人
</td>
<td class="style1">
<asp:Label ID="lbApplayUser" runat="server"></asp:Label>
</td>
<td>
经手人
</td>
<td>
<asp:TextBox ID="txtRealUserID" CssClass="{required:true,digits:true, min:1}" runat="server"
Width="78px"></asp:TextBox>
<asp:Label
ID="lbOldRealName" runat="server" Text="Label"></asp:Label>
</td>
<td>
制表时间
</td>
<td>
<asp:Label ID="lbTime" runat="server" Text="Label"></asp:Label>
</td>
</tr>
<tr>
<td>
发货(订货)单位
</td>
<td>
<asp:TextBox ID="txtSendCom" runat="server" Width="72px" CssClass="{required:true,digits:true, min:1}"></asp:TextBox>
<asp:Label
ID="lbOldSenComName" runat="server" Text="Label"></asp:Label>
</td>
<td>
入库单位
</td>
<td class="style1">
<asp:TextBox ID="ddlOrderCom" runat="server" Width="72px"></asp:TextBox>

</td>
<td>
采购方式
</td>
<td>
<asp:TextBox ID="ddlSaleType" runat="server" Width="72px"></asp:TextBox>

</td>
<td>
入库方式
</td>
<td>
<asp:TextBox ID="ddlTypes" runat="server" Width="72px"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="8" style="border: none;" class="style2">
<div>
<table id="tableprolist" style="width:99%; border: solid 1px; border-collapse: collapse;
line-height: 25px;">
<tr id="trprotitle">
<td>
产品名称及规格
</td>
<td>
数量
</td>
<td colspan="2">
单价
</td>


</tr>
<tr id="troption">
<td>
<input type="text" name="proName" class="required" style="width: 294px" /><input
type="hidden" name="proID" />
</td>
<td>
<input type="text" name="proCount" class="{required:true,min:1,digits:true}" style="width: 150px" />
</td>
<td colspan="2">
<input type="text" name="proPrice" class="{required:true,min:0.1,number:true}" style="width: 150px" />

<input type="hidden" name="purchaseProID"/>
</td>

</tr>
<tr id="caption">
<td colspan="4" style="text-align: right;">

</td>
</tr>
<tr>
<td colspan="4">
<div id="divprobatch" style="display: none;">
<table id="tb2" align="left" cellpadding="0" border="0" cellspacing="0" width="100%" style=" margin:0px auto;">
<tr id="probatchtr">
<td>
订货产品名称及规格(只读)
</td>
<td style="width: 70px;">
数量
</td>
<td style="width: 95px;">
批号
</td>
<td style="width: 95px;">
货号(只读)
</td>
<td style="width: 150px;">
生产日期
</td>
<td style="width: 150px;">
有效期
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td colspan="4">
<table id="pricetable">
<tr>
<td>
<asp:Label ID="lbTotal" runat="server" Text="产品总额"></asp:Label>
<asp:Label ID="lbTotalInvoicePrice" runat="server" Text=""></asp:Label>
</td>
<td>
<asp:Label ID="lbisPay" Visible="false" runat="server" Text="是否付款:"></asp:Label><asp:CheckBox
ID="isPay" runat="server" Visible="false" />
</td>
<td>
<asp:Label ID="lbBill" runat="server" Text="账单编号:" Visible="false"></asp:Label>
<asp:TextBox ID="txtBillNo" runat="server" Visible="false"></asp:TextBox>
</td>
<td>
<asp:Label ID="lbPayuser" runat="server" Text=" 付款人:" Visible="false"></asp:Label>
<asp:TextBox ID="txtBillUser" runat="server" Visible="false"></asp:TextBox>
<asp:Label ID="lbBillUserName" runat="server"
Text="Label"></asp:Label>

</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div id="proAuditing" style=" display:none;">
产品质量审核:<asp:CheckBox ID="cb_Auditing" Text="质量审核合格" runat="server" />
</div>
<div id="stockAuditing" style=" display:none;">
<span>仓库审核:<asp:CheckBox ID="cb_Stock" Text="仓库审核合格" runat="server" /></span>

</span>
</div>
</td>
</tr>

<tr>
<td>
历史审批意见
</td>
<td colspan="7">
<asp:Label ID="lbRemarks" runat="server" Text=""></asp:Label>
</td>
</tr>
<tr>
<td colspan="8" class="bottomtd">
</td>
</tr>
</table>
</div>
</form>
</body>
</html>

 后台代码:

public partial class ProPurchaseShow: BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

getdata();

getprobatchDetail();
}

}
/// <summary>
/// 批号信息加载
/// </summary>
public void getprobatchDetail()
{
BioPurchaseBLL pbll = new BioPurchaseBLL();
string id = Request.QueryString["taskid"];
//string id = "10";

DataTable dt = pbll.getProBatchDetailByPurchaseID(id);
#region 加载产品批号信息
if (dt.Rows.Count > 0)
{
int count = dt.Rows.Count;
//2011年12月2日19:27:17
//显示添加批号的前端方法修改为:showobj
ClientScript.RegisterStartupScript(this.GetType(), "showobj", "showobj('divprobatch');setaddbatchs(" + count + ");", true);
string proname = "";
string proId = "";
string txtProCount = "";
string txtProBatch = "";
string txtProBoxNum = "";
string txtMarkDate = "";
string txtExPirationDate = "";
string PurchaseProID = "";

for (int i = 0; i < dt.Rows.Count; i++)
{
proname += dt.Rows[i]["proName"].ToString() + ",";
proId += dt.Rows[i]["proID"].ToString() + ",";
txtProCount += dt.Rows[i]["proCount"].ToString() + ",";
txtProBatch += dt.Rows[i]["batchNum"].ToString() + ",";
txtProBoxNum += dt.Rows[i]["boxNum"].ToString() + ",";
txtMarkDate += Convert.ToDateTime(dt.Rows[i]["makeDate"].ToString()).ToString("yyyy-MM-dd") + ",";
txtExPirationDate += Convert.ToDateTime(dt.Rows[i]["expirationDate"].ToString()).ToString("yyyy-MM-dd") + ",";
PurchaseProID += dt.Rows[i]["purchaseProID"].ToString() + ",";

}

ClientScript.RegisterStartupScript(this.GetType(), "setbatchsvalues", "setbatchsvalues('" + proname + "','"
+ proId + "','" + txtProCount + "','" + txtProBatch + "','" + txtProBoxNum + "','" + txtMarkDate + "','"
+ txtExPirationDate + "','" + PurchaseProID + "');", true);
#endregion


//判断是否存在此产品的批号信息
if (dt.Rows.Count>0)
{
//当前登录用户是否有产品质量审核权限 值50
if (SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",50,"))
{

ClientScript.RegisterStartupScript(this.GetType(), "test", "showobj('proAuditing');", true);
if (pbll.getauditingProBatchCountByPurchaseID(id) != 0)
{
this.cb_Auditing.Checked = true;
}
}
else
{
if (pbll.getauditingProBatchCountByPurchaseID(id) != 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "test", "showobj('proAuditing');", true);
this.cb_Auditing.Checked = true;
this.cb_Auditing.Enabled = false;
}

}

//如果产品批号已经审核 并且 当前登录用户是仓库管理员 则显示相应控件
if (pbll.getauditingProBatchCountByPurchaseID(id) != 0 && SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",25,"))
{
ClientScript.RegisterStartupScript(this.GetType(), "test1", "showobj('stockAuditing');", true);
}
}
}
}

protected void getdata()
{
////如果获取阐述不存在直接跳转。
if (Request.QueryString["taskid"] == null || Request.QueryString["listid"] == null)
{
Response.Write("<script>window.history.go(-1);this.close()</script>");
}
string taskid = Request.QueryString["taskid"].ToString();
string listid = Request.QueryString["listid"].ToString();
//string taskid = "10";
//string listid = "50";

string rights= SqlComm.getUserRightsByUserId(Session["Userid"].ToString());


BioPurchaseBLL purchasebll=new BioPurchaseBLL();
ViewBioPurchaseAppInfo viewpurchase = purchasebll.getViewBioPurchaseAppInfo(taskid);
ddlDepartMent.Text=viewpurchase.DepartMent.ToString();
this.lbApplayUser.Text = viewpurchase.AppUserName.ToString();
this.lbOldRealName.Text = viewpurchase.RealUserName;
this.txtRealUserID.Text = viewpurchase.RealUserID.ToString();
this.lbTime.Text = Convert.ToDateTime(viewpurchase.OrderTime).ToString("yyyy-MM-dd");
this.lbOldSenComName.Text = viewpurchase.CopanyName;
this.txtSendCom.Text = viewpurchase.sendComID.ToString();
this.ddlOrderCom.Text = viewpurchase.OrderCom.ToString();
this.ddlSaleType.Text = viewpurchase.WholeType;
this.ddlTypes.Text = viewpurchase.sendType;


//判断是否数据库中已经添加了财务审核的记录
if (viewpurchase.BillNo != "" && viewpurchase.BillNo != null)
{
this.lbBill.Visible = true;
this.lbisPay.Visible = true;
this.isPay.Visible = true;
this.txtBillNo.Visible = true;
this.lbPayuser.Visible = true;
this.txtBillUser.Visible = true;
this.txtBillUser.Text = viewpurchase.BillUserID.ToString();
this.txtBillNo.Text = viewpurchase.BillNo.ToString();
this.lbBillUserName.Text = viewpurchase.BillUserName.ToString();
int paycount = int.Parse(SqlComm.GetObjectByCondition("dbo.BioPurchasePro", "count(isPay)", " PurchaseID="+taskid).ToString());
if (paycount > 0)
{
this.isPay.Checked = true;
}

}
else
{
if (rights.Contains(",48,"))
{
this.lbBill.Visible = true;
this.lbisPay.Visible = true;
this.isPay.Visible = true;
this.txtBillNo.Visible = true;
this.lbPayuser.Visible = true;
this.txtBillUser.Visible = true;
this.txtBillUser.Text = Session["Userid"].ToString();
this.txtBillNo.Text = DateTime.Now.ToString("yyyyMMdd") + taskid;

}
}
//根据表单单号在流程表中查询历史审批记录绑定信息
this.lbRemarks.Text= SqlComm.getTaskListRecordsMindsByCondition(taskid, ((int)TaskNavigateEmun.ProPurchase).ToString());
if (SqlComm.getAuditingSateByCondition("listid") == "2")
{
this.cb_Stock.Checked = true;
}


//根据表单编号查询产品基本信息并绑定
DataTable dt = SqlComm.GetDataByCondition("View_BioPurchaseProInfo",
"ProID,ProName,ProCount,ProPrice,InvoicePrice,purchaseProID", "PurchaseID=" + taskid).Tables[0];
int count = dt.Rows.Count;
ClientScript.RegisterStartupScript(this.GetType(), "addrows", "addrows(" + (count-1) + ");", true);

string proNames = "";
string proIDs = "";
string proCounts = "";
string proPrices = "";
decimal totalInvoicePrice = 0;
string purchaseProIDs = "";
for (int i = 0; i < dt.Rows.Count; i++)
{
proIDs+= dt.Rows[i]["ProID"].ToString()+",";
proNames+=dt.Rows[i]["ProName"].ToString()+",";
proCounts+= dt.Rows[i]["ProCount"].ToString()+",";
proPrices+= decimal.Parse(dt.Rows[i]["ProPrice"].ToString()).ToString("0.0")+",";
totalInvoicePrice += decimal.Parse(dt.Rows[i]["InvoicePrice"].ToString());
purchaseProIDs += dt.Rows[i]["purchaseProID"].ToString() + ",";
}
ClientScript.RegisterStartupScript(this.GetType(), "setValues",
"setValues('" + proNames + "','" + proIDs + "','" + proCounts + "','" + proPrices + "','" + purchaseProIDs + "');", true);
this.lbTotalInvoicePrice.Text = totalInvoicePrice.ToString("0.0");
}
}

 产品的执行状态页面(完成页面):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProPurchaseRun.aspx.cs"
Inherits="BioErpWeb.WholeSaleSystem.ProPurchase.ProPurchaseRun" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="../../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="../../Scripts/validateExtender.js" type="text/javascript"></script>
<script src="../../Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.metadata.js" type="text/javascript"></script>
<link href="../../Styles/InputStyle1.css" rel="stylesheet" type="text/css" />
<script src="../../JS/CheckDepartMent.js" type="text/javascript"></script>
<link href="../../Styles/CalenderStyle.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/cld.js" type="text/javascript"></script>
<script src="../../JS/CheckUserName.js" type="text/javascript"></script>
<script src="../../JS/CustomerName.js" type="text/javascript"></script>
<script src="../../JS/ProNameChoose.js" type="text/javascript"></script>
<script src="../../Scripts/Comm.js" type="text/javascript"></script>
<style type="text/css">
#pricetable
{
border: none;
width: 99%;
}
#pricetable td
{
border: none;
}
#divprobatch
{
width: 99%;
border: none;
}
#divprobatch table
{
width: 100%;
border: none;
}
#divprobatch table td
{
border: none;
padding-right: 2px;

}
.grayborder{ border:solid 1px #ccc;}
.bordernone{ border-left:none; border-top:none; border-right:none; border-bottom:none;}
</style>

<script type="text/javascript">
var tri = 0;
$(document).ready(function () {
$("#form1").validate();
$(document).find("input[type='text']").each(function () {
$(this).attr("readonly", "true");
});

$(document).find("input[type='checkbox']").each(function () {
$(this).attr("disabled", "disabled");
})

$("#trprotitle").css("background-color", "#eee");
$("#probatchtr").css("background-color", "#eee");

});
function addrows(count) {

for (var i = 0; i < count; i++) {
tri++;
var tr = '<tr id="tr' + tri + '"><td><input type="text" name="proName"
class="required" style=" width:294px"/><input type="hidden" name="proID" />
</td><td><input type="text" name="proCount" class="{required:true,min:1,digits:true}" style=" width:150px"/></td>
<td colspan="2"><input type="text" name="proPrice" class="{required:true,min:0.1,number:true}" style=" width:150px"/>
<input type="hidden" name="purchaseProID"/></td></tr>';
var obj = $("#troption");
$(obj).after(tr);

}
}

//产品信息赋值
function setValues(proName, proID, proCount, proPrice, purchaseProID) {

var proNames = proName.split(',');
var proIDs = proID.split(',');
var proCounts = proCount.split(',');
var proPrices = proPrice.split(',');
var purchaseProIDs=purchaseProID.split(',');
var txtProName = document.getElementsByName("proName");
var txtProID = document.getElementsByName("proID");
var txtProCount = document.getElementsByName("proCount");
var txtproPrice = document.getElementsByName("proPrice");
var txtpurchaseProID = document.getElementsByName("purchaseProID");
for (var i = 0; i <(proIDs.length-1); i++) {
txtProName[i].value = proNames[i];
txtProID[i].value = proIDs[i];
txtProCount[i].value = proCounts[i];
txtproPrice[i].value = proPrices[i];
txtpurchaseProID[i].value = purchaseProIDs[i];

}

}

function deleterow() {
var obj = window.event.srcElement;
var parenttr = obj.parentNode.parentNode;
$(parenttr).remove();

}


//根据后台传过来的产品批次个数,添加相应行数
function setaddbatchs(count) {

var trbatch = '<tr> <td id="td2"><input id="txtProName0" value="" readonly="readonly" name="txtProName0"
style="width: 294px" type="text" class="input" size="50" /><input type="hidden" name="proIds" value=""/> </td>';
trbatch += '<td><input id="txtProCount0" name="txtProCount0" class="{required:true,min:1,digits:true}"
type="text" size="5" /></td><td><input id="txtProBatch0" name="txtProBatch0" type="text" size="11" /> </td>';
trbatch += '<td><input id="txtProBoxNum0" name="txtProBoxNum0" value="" readonly="readonly" type="text" size="11" /> </td>';
trbatch += '<td><input id="txtMarkDate0" name="txtMarkDate0" onfocus="setday(this)" onclick="setday(this)"
size="11" class="{required:true,dateISO:true}" type="text" readonly="readonly" /></td>';
trbatch += '<td><input id="txtExPirationDate0" onfocus="setday(this)"
onclick="setday(this)" name="txtExPirationDate0" class="{required:true,dateISO:true}" size="11" type="text" readonly="readonly" />';
trbatch += '</td><td><input type="hidden" value="" name="PurchaseProID2"/>';
trbatch += '</td></tr>';
for (var i = 0; i < count; i++) {
$("#probatchtr").after(trbatch);
}
}

function setbatchsvalues(proname, proId, txtProCount, txtProBatch, txtProBoxNum, txtMarkDate, txtExPirationDate, PurchaseProID) {

var pronames = proname.split(",");
var proIds = proId.split(",");
var ProCouns = txtProCount.split(",");
var ProBatchs = txtProBatch.split(",");
var ProBoxNums = txtProBoxNum.split(",");
var MarkDates = txtMarkDate.split(",");
var ExPirationDates = txtExPirationDate.split(",");
var PurchaseProIDs = PurchaseProID.split(",");


var txtProName0s = document.getElementsByName("txtProName0");
var txtproIds = document.getElementsByName("proIds")
var txtProCount0 = document.getElementsByName("txtProCount0");
var txtProBatch0 = document.getElementsByName("txtProBatch0");
var txtProBoxNum0 = document.getElementsByName("txtProBoxNum0");
var txtMarkDate0 = document.getElementsByName("txtMarkDate0");
var txtExPirationDate0 = document.getElementsByName("txtExPirationDate0");
var PurchaseProID2 = document.getElementsByName("PurchaseProID2");

for (var i = 0; i < txtProName0s.length; i++) {
txtProName0s[i].value = pronames[i];
txtproIds[i].value = proIds[i];
txtProCount0[i].value = ProCouns[i];
txtProBatch0[i].value = ProBatchs[i];
txtProBoxNum0[i].value = ProBoxNums[i];
txtMarkDate0[i].value = MarkDates[i];
txtExPirationDate0[i].value = ExPirationDates[i];
PurchaseProID2[i].value = PurchaseProIDs[i];

}



}



</script>

</head>
<body>
<form id="form1" runat="server">
<div style=" width:99%; height:750px; overflow:scroll;">
<table class="maintable Inupttable" style="width: 900px;">
<tr>
<td colspan="8" class="titlebar">
商品采购审核单 流程结束
</td>
</tr>
<tr>
<td>
申请部门
</td>
<td>
<asp:TextBox ID="ddlDepartMent" runat="server"></asp:TextBox>
</td>
<td>
制表人
</td>
<td class="style1">
<asp:Label ID="lbApplayUser" runat="server"></asp:Label>
</td>
<td>
经手人
</td>
<td>
<asp:TextBox ID="txtRealUserID" CssClass="{required:true,digits:true, min:1}" runat="server"
Width="78px"></asp:TextBox>
<asp:Label
ID="lbOldRealName" runat="server" Text="Label"></asp:Label>
</td>
<td>
制表时间
</td>
<td>
<asp:Label ID="lbTime" runat="server" Text="Label"></asp:Label>
</td>
</tr>
<tr>
<td>
发货(订货)单位
</td>
<td>
<asp:TextBox ID="txtSendCom" runat="server" Width="72px" CssClass="{required:true,digits:true, min:1}"></asp:TextBox>
<asp:Label
ID="lbOldSenComName" runat="server" Text="Label"></asp:Label>
</td>
<td>
入库单位
</td>
<td class="style1">
<asp:TextBox ID="ddlOrderCom" runat="server" Width="72px"></asp:TextBox>

</td>
<td>
采购方式
</td>
<td>
<asp:TextBox ID="ddlSaleType" runat="server" Width="72px"></asp:TextBox>

</td>
<td>
入库方式
</td>
<td>
<asp:TextBox ID="ddlTypes" runat="server" Width="72px"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="8" style="border: none;" class="style2">
<div>
<table id="tableprolist" style="width:99%; border: solid 1px; border-collapse: collapse;
line-height: 25px;">
<tr id="trprotitle">
<td>
产品名称及规格
</td>
<td>
数量
</td>
<td colspan="2">
单价
</td>


</tr>
<tr id="troption">
<td>
<input type="text" name="proName" class="required" style="width: 294px" /><input
type="hidden" name="proID" />
</td>
<td>
<input type="text" name="proCount" class="{required:true,min:1,digits:true}" style="width: 150px" />
</td>
<td colspan="2">
<input type="text" name="proPrice" class="{required:true,min:0.1,number:true}" style="width: 150px" />
<!--2011年11月29日22:37:47 添加 <input type="hidden" name="purchaseProID"/>-->
<input type="hidden" name="purchaseProID"/>
</td>

</tr>
<tr id="caption">
<td colspan="4" style="text-align: right;">

</td>
</tr>
<tr>
<td colspan="4">
<div id="divprobatch" style="display: none;">
<table id="tb2" align="left" cellpadding="0" border="0" cellspacing="0" width="100%" style=" margin:0px auto;">
<tr id="probatchtr">
<td>
订货产品名称及规格(只读)
</td>
<td style="width: 70px;">
数量
</td>
<td style="width: 95px;">
批号
</td>
<td style="width: 95px;">
货号(只读)
</td>
<td style="width: 150px;">
生产日期
</td>
<td style="width: 150px;">
有效期
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td colspan="4">
<table id="pricetable">
<tr>
<td>
<asp:Label ID="lbTotal" runat="server" Text="产品总额"></asp:Label>
<asp:Label ID="lbTotalInvoicePrice" runat="server" Text=""></asp:Label>
</td>
<td>
<asp:Label ID="lbisPay" Visible="false" runat="server" Text="是否付款:"></asp:Label><asp:CheckBox
ID="isPay" runat="server" Visible="false" />
</td>
<td>
<asp:Label ID="lbBill" runat="server" Text="账单编号:" Visible="false"></asp:Label>
<asp:TextBox ID="txtBillNo" runat="server" Visible="false"></asp:TextBox>
</td>
<td>
<asp:Label ID="lbPayuser" runat="server" Text=" 付款人:" Visible="false"></asp:Label>
<asp:TextBox ID="txtBillUser" runat="server" Visible="false"></asp:TextBox>
<asp:Label ID="lbBillUserName" runat="server"
Text="Label"></asp:Label>

</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div id="proAuditing" style=" display:none;">
产品质量审核:<asp:CheckBox ID="cb_Auditing" Text="质量审核合格" runat="server" />
</div>
<div id="stockAuditing" style=" display:none;">
<span>仓库审核:<asp:CheckBox ID="cb_Stock" Text="仓库审核合格" runat="server" /></span>

</span>
</div>
</td>
</tr>

<tr>
<td>
历史审批意见
</td>
<td colspan="7">
<asp:Label ID="lbRemarks" runat="server" Text=""></asp:Label>
</td>
</tr>

<tr>
<td>
备注</td>
<td colspan="7">
<asp:TextBox ID="txtRemark" Width="547px" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="8" class="bottomtd">
<asp:Button ID="Button1" runat="server" CssClass="btnorange" Text="结束流程"
onclick="Button1_Click" />
</td>
</tr>
</table>

<asp:HiddenField ID="hf_applayDepartMent" runat="server" />
<asp:HiddenField ID="hf_subject" runat="server" />
<asp:HiddenField ID="hf_FirstAccepter" runat="server" />
<asp:HiddenField ID="hf_FirstTransmitter" runat="server" />

</div>
</form>
</body>
</html>

 后台的代码:

public partial class ProPurchaseRun: BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
getdata();
getprobatchDetail();
}

}
/// <summary>
/// 批号信息加载
/// </summary>
public void getprobatchDetail()
{
BioPurchaseBLL pbll = new BioPurchaseBLL();
string id = Request.QueryString["taskid"];
//string id = "10";

DataTable dt = pbll.getProBatchDetailByPurchaseID(id);
#region 加载产品批号信息
if (dt.Rows.Count > 0)
{
int count = dt.Rows.Count;
//2011年12月2日19:27:17
//显示添加批号的前端方法修改为:showobj
ClientScript.RegisterStartupScript(this.GetType(), "showobj", "showobj('divprobatch');setaddbatchs(" + count + ");", true);
string proname = "";
string proId = "";
string txtProCount = "";
string txtProBatch = "";
string txtProBoxNum = "";
string txtMarkDate = "";
string txtExPirationDate = "";
string PurchaseProID = "";

for (int i = 0; i < dt.Rows.Count; i++)
{
proname += dt.Rows[i]["proName"].ToString() + ",";
proId += dt.Rows[i]["proID"].ToString() + ",";
txtProCount += dt.Rows[i]["proCount"].ToString() + ",";
txtProBatch += dt.Rows[i]["batchNum"].ToString() + ",";
txtProBoxNum += dt.Rows[i]["boxNum"].ToString() + ",";
txtMarkDate += Convert.ToDateTime(dt.Rows[i]["makeDate"].ToString()).ToString("yyyy-MM-dd") + ",";
txtExPirationDate += Convert.ToDateTime(dt.Rows[i]["expirationDate"].ToString()).ToString("yyyy-MM-dd") + ",";
PurchaseProID += dt.Rows[i]["purchaseProID"].ToString() + ",";

}

ClientScript.RegisterStartupScript(this.GetType(), "setbatchsvalues", "setbatchsvalues('" + proname + "','" + proId + "','" +
txtProCount + "','" + txtProBatch + "','" + txtProBoxNum + "','" + txtMarkDate + "','" + txtExPirationDate + "','" + PurchaseProID + "');", true);
#endregion


//判断是否存在此产品的批号信息
if (dt.Rows.Count>0)
{
//当前登录用户是否有产品质量审核权限 值50
if (SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",50,"))
{

ClientScript.RegisterStartupScript(this.GetType(), "test", "showobj('proAuditing');", true);
if (pbll.getauditingProBatchCountByPurchaseID(id) != 0)
{
this.cb_Auditing.Checked = true;
}
}
else
{
if (pbll.getauditingProBatchCountByPurchaseID(id) != 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "test", "showobj('proAuditing');", true);
this.cb_Auditing.Checked = true;
this.cb_Auditing.Enabled = false;
}

}

//如果产品批号已经审核 并且 当前登录用户是仓库管理员 则显示相应控件
if (pbll.getauditingProBatchCountByPurchaseID(id) != 0 && SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",25,"))
{
ClientScript.RegisterStartupScript(this.GetType(), "test1", "showobj('stockAuditing');", true);
}





}
}
}
protected void getdata()
{
////如果获取阐述不存在直接跳转。
if (Request.QueryString["taskid"] == null || Request.QueryString["listid"] == null)
{
Response.Write("<script>window.history.go(-1);this.close()</script>");
}
string taskid = Request.QueryString["taskid"].ToString();
string listid = Request.QueryString["listid"].ToString();
//string taskid = "10";
//string listid = "50";

string rights= SqlComm.getUserRightsByUserId(Session["Userid"].ToString());


BioPurchaseBLL purchasebll=new BioPurchaseBLL();
ViewBioPurchaseAppInfo viewpurchase = purchasebll.getViewBioPurchaseAppInfo(taskid);
ddlDepartMent.Text=viewpurchase.DepartMent.ToString();
this.hf_applayDepartMent.Value = viewpurchase.DepartMentID.ToString();
this.lbApplayUser.Text = viewpurchase.AppUserName.ToString();
this.lbOldRealName.Text = viewpurchase.RealUserName;
this.txtRealUserID.Text = viewpurchase.RealUserID.ToString();
this.lbTime.Text = Convert.ToDateTime(viewpurchase.OrderTime).ToString("yyyy-MM-dd");
this.lbOldSenComName.Text = viewpurchase.CopanyName;
this.txtSendCom.Text = viewpurchase.sendComID.ToString();
this.ddlOrderCom.Text = viewpurchase.OrderCom.ToString();
this.ddlSaleType.Text = viewpurchase.WholeType;
this.ddlTypes.Text = viewpurchase.sendType;


//判断是否数据库中已经添加了财务审核的记录
if (viewpurchase.BillNo != "" && viewpurchase.BillNo != null)
{
this.lbBill.Visible = true;
this.lbisPay.Visible = true;
this.isPay.Visible = true;
this.txtBillNo.Visible = true;
this.lbPayuser.Visible = true;
this.txtBillUser.Visible = true;
this.txtBillUser.Text = viewpurchase.BillUserID.ToString();
this.txtBillNo.Text = viewpurchase.BillNo.ToString();
this.lbBillUserName.Text = viewpurchase.BillUserName.ToString();
int paycount = int.Parse(SqlComm.GetObjectByCondition("dbo.BioPurchasePro", "count(isPay)", " PurchaseID="+taskid).ToString());
if (paycount > 0)
{
this.isPay.Checked = true;
}

}
else
{
if (rights.Contains(",48,"))
{
this.lbBill.Visible = true;
this.lbisPay.Visible = true;
this.isPay.Visible = true;
this.txtBillNo.Visible = true;
this.lbPayuser.Visible = true;
this.txtBillUser.Visible = true;
this.txtBillUser.Text = Session["Userid"].ToString();
this.txtBillNo.Text = DateTime.Now.ToString("yyyyMMdd") + taskid;

}
}
//根据表单单号在流程表中查询历史审批记录绑定信息
this.lbRemarks.Text= SqlComm.getTaskListRecordsMindsByCondition(taskid, ((int)TaskNavigateEmun.ProPurchase).ToString());
if (SqlComm.getAuditingSateByCondition("listid") == "2")
{
this.cb_Stock.Checked = true;
}

this.hf_subject.Value = SqlComm.getTaskListSubjectByCondition(listid);
this.hf_FirstTransmitter.Value = SqlComm.getFirstTransmitterByCondition(listid);
this.hf_FirstAccepter.Value = SqlComm.getFirstAccpterByCondition(listid);

//根据表单编号查询产品基本信息并绑定
DataTable dt = SqlComm.GetDataByCondition("View_BioPurchaseProInfo", "ProID,ProName,ProCount,ProPrice,
InvoicePrice,purchaseProID", "PurchaseID=" + taskid).Tables[0];
int count = dt.Rows.Count;
ClientScript.RegisterStartupScript(this.GetType(), "addrows", "addrows(" + (count-1) + ");", true);

string proNames = "";
string proIDs = "";
strin g proCounts = "";
string proPrices = "";
decimal totalInvoicePrice = 0;
string purchaseProIDs = "";
for (int i = 0; i < dt.Rows.Count; i++)
{
proIDs+= dt.Rows[i]["ProID"].ToString()+",";
proNames+=dt.Rows[i]["ProName"].ToString()+",";
proCounts+= dt.Rows[i]["ProCount"].ToString()+",";
proPrices+= decimal.Parse(dt.Rows[i]["ProPrice"].ToString()).ToString("0.0")+",";
totalInvoicePrice += decimal.Parse(dt.Rows[i]["InvoicePrice"].ToString());
purchaseProIDs += dt.Rows[i]["purchaseProID"].ToString() + ",";
}
ClientScript.RegisterStartupScript(this.GetType(), "setValues", "setValues('" + proNames + "','" + proIDs +
"','" + proCounts + "','" + proPrices + "','" + purchaseProIDs + "');", true);
this.lbTotalInvoicePrice.Text = totalInvoicePrice.ToString("0.0");
}

protected void Button1_Click(object sender, EventArgs e)
{
TaskListRecord record = new TaskListRecord();
record.Accepter = int.Parse(this.hf_FirstTransmitter.Value);
record.AuditingSate = 3;
record.DepartMentId = int.Parse(this.hf_applayDepartMent.Value);
record.FirstAccepter = int.Parse(this.hf_FirstAccepter.Value);
record.FirstSumitTime = Convert.ToDateTime(this.lbTime.Text);
record.FirstTransmitter = int.Parse(this.hf_FirstTransmitter.Value);
record.Mind = this.txtRemark.Text;
record.Pass = 1;
record.Subject = hf_subject.Value;
record.SumitTime = DateTime.Now;
record.TaskID = int.Parse(Request.QueryString["taskid"].ToString());
record.TaskTableID = (int)TaskNavigateEmun.ProPurchase;
record.Transmitter = int.Parse(Session["Userid"].ToString());

if (SqlComm.TaskListRecordAdd(record) != 0)
{
SqlComm.UpdateTableByCondition("dbo.TaskListRecord", " AuditingSate=1", " ListID=" + Request.QueryString["listid"].ToString());

}
}
}

 产品购进系统购进单列表查询视图:

 

根据产品购进单查询产品对应总额:

CREATE FUNCTION [dbo].[getPurchaseTotalMonenyByPurchaseID]
(
@PurchaseID INT
)
RETURNS MONEY
AS
BEGIN
DECLARE @totalMoney MONEY
SELECT @totalMoney=SUM(ProPrice*ProCount) FROM dbo.BioPurchasePro
WHERE PurchaseID=@PurchaseID
RETURN @totalMoney
END

购进单列表需要显示的信息:
主题,表单状态,订货公司,发货公司,订货申请人,订货部门,订货时间,订货总金额,入库时间,下次接收人(当前接收人)

需要的视图:

CREATE VIEW [dbo].[View_PurchaseAppInfoShowList]
AS

SELECT
PurchaseID,
Subject,
DepartMentID,
DepartMentName=dbo.FN_GetDepartMentByID(DepartMentID),
AppUserId,
AppUserName=dbo.getUserNameByUserID(AppUserId),
RealUserID,
RealUserName=dbo.getUserNameByUserID(RealUserID),
OrderCom,
SendComID,
SendComName=dbo.getCustomerByID(SendComID),
ArrivedTime,
OrderTime,
sendType,
WholeType,
AcceptUserid,
PurchaseTotal=dbo.getPurchaseTotalMonenyByPurchaseID(PurchaseID),
BillUserID,
DeleteSate,
Transmitter=ISNULL(dbo.FN_CurrentTransmitter(2,PurchaseID),'数据错误'),
Listid= ISNULL(dbo.FN_GetDynamicId(2,PurchaseID),0),
AuditingSate=ISNULL(dbo.FN_CurrentAuditingSate(2,PurchaseID),0)
FROM
dbo.BioPurchaseAppInfo

 产品采购审核列表查询页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProPurchaseListShow.aspx.cs" 
Inherits="BioErpWeb.WholeSaleSystem.ProPurchase.ProPurchaseListShow" %>

<%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %>

<%@ Register src="../../UserControl/CRMChannelMenuBar.ascx" tagname="CRMChannelMenuBar" tagprefix="uc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="../../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
<link href="../../Styles/AspNetPagerStyle.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<link href="../../Scripts/jquery-ui-1.7.custom.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-ui-1.7.custom.min.js" type="text/javascript"></script>
<link href="../../Styles/TopMenu2.css" rel="stylesheet" type="text/css" />
<link href="../../Styles/InputStyle1.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$().ready(function () {
$("#txtNoteTime").datepicker({ dateFormat: 'yy-mm-dd' });
});
</script>

</head>
<body>
<form id="form1" runat="server">

<div>


</div>
<div>
<table class="maintable" style=" width:900px;">
<tr>
<td colspan="5" class="titlebar">
<span>产品采购审核列表查询</span>
</td>
</tr>
<tr>
<td class="tdsearch">
<asp:Label ID="Label1" runat="server" Text="主题:"></asp:Label>
<asp:TextBox ID="txtName" runat="server" Width="100px"></asp:TextBox>
</td>
<td class="tdsearch">
<asp:Label ID="Label2" runat="server" Text="购进申请人:"></asp:Label>
<asp:TextBox ID="txtUserName" runat="server" Width="100px"></asp:TextBox>
</td>
<td class="tdsearch">
<asp:Label ID="Label11" runat="server" Text="提交时间"></asp:Label>
<asp:TextBox ID="txtOrderTime" runat="server" Width="100px"></asp:TextBox>
</td>
<td class="tdsearch">
<asp:Label ID="Label3" runat="server" Text="是否删除"></asp:Label>
<asp:DropDownList ID="ddlState" runat="server">
<asp:ListItem Value="0">否</asp:ListItem>
<asp:ListItem Value="1">是</asp:ListItem>
</asp:DropDownList>
</td>

<td class="tdsearch">
<asp:ImageButton ID="imgbutnSearch" Width="60" Height="22" runat="server"
ImageUrl="~/Web/images/Btnsearch.gif" onclick="imgbutnSearch_Click" />
</td>
</tr>
<tr>
<td colspan="6" class="bottomtd">
<asp:GridView ID="GridView1" Width="100%" runat="server" AutoGenerateColumns="False" DataKeyNames="PurchaseID">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="PurchaseID,Listid" DataNavigateUrlFormatString="ToOtherAspx.aspx?id={0}&listid={1}"
DataTextField="Subject" Target="MainFrame" HeaderText="主题">
<ItemStyle Width="150px" HorizontalAlign="Center" />
<HeaderStyle Width="150px" HorizontalAlign="Center"/>
</asp:HyperLinkField>


<asp:BoundField DataField="AuditingSate" HeaderText="状态" HeaderStyle-HorizontalAlign="Center"/>

<asp:TemplateField HeaderText="订货公司" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Eval("OrderCom") %>'></asp:Label>
</ItemTemplate>

<HeaderStyle HorizontalAlign="Center"></HeaderStyle>

<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="发货公司" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%#Eval("SendComName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>

<asp:TemplateField HeaderText="订货申请人" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label8" runat="server" Text='<%#Eval("AppUserName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>

<asp:TemplateField HeaderText="订货部门" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label9" runat="server" Text='<%# Eval("DepartMentName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="订货时间" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lbortime" runat="server" Text='<%# Convert.ToDateTime(Eval("OrderTime")).ToString("yyyy-MM-dd") %>'>
</asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="订货总额" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lbtotal" runat="server" Text='<%# Eval("PurchaseTotal") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="下次接收人" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label10" runat="server" Text='<%#Eval("Transmitter").ToString()%>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>


<asp:TemplateField HeaderText="" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<a href="ProPurchaseShow.aspx?taskid=<%#Eval("PurchaseID") %>&listid=<%#Eval("Listid")%>">查看详细</a>
</ItemTemplate>

<HeaderStyle HorizontalAlign="Center"></HeaderStyle>

<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>

</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td colspan="5">
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb"
onpagechanged="AspNetPager1_PageChanged">
</webdiyer:AspNetPager>
</td>
</tr>
<tr><td colspan="5">
<asp:Button ID="Button1" runat="server" Text="导出全部" CssClass="btngreen"
onclick="Button1_Click"/></td></tr>

</table>

</div>
</form>
</body>
</html>

 后台代码:

public partial class ProPurchaseListShow: BasePage
{

public static int pageindex = 0;
public static int pagesize = 10;
public static string condition = "";

protected void Page_Load(object sender, EventArgs e)
{
//Session["Userid"] = "29";
if (Session["Userid"] == null)
{
Response.Redirect("../../web/UserLogin.aspx");
}


if (!IsPostBack)
{

getallBioCRMContractList();
}
}



/// <summary>
/// 查询所有员工信息
/// </summary>
private void getallBioCRMContractList()
{
//如果有商品采购系统权限(特许权限)的人员可以查看所有表单
if (SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains(",47,"))
{
this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_PurchaseAppInfoShowList", condition);
this.AspNetPager1.PageSize = pagesize;
this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_PurchaseAppInfoShowList", "*",
"PurchaseID", condition, pageindex, pagesize);
this.GridView1.DataBind();
}
else if (Web.UserLogin.user.RoleId == ((int)RoseEmun.DepartMentManager))
{
condition = condition + " and DepartMentID=" + Web.UserLogin.user.DepartmentId;
this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_PurchaseAppInfoShowList", condition);
this.AspNetPager1.PageSize = pagesize;
this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_PurchaseAppInfoShowList", "*",
"PurchaseID", condition, pageindex, pagesize);
this.GridView1.DataBind();
}
else //员工只能看自己的购进单
{
condition = condition + " and AppUserId=" + Session["Userid"].ToString();
this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_PurchaseAppInfoShowList", condition);
this.AspNetPager1.PageSize = pagesize;
this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_PurchaseAppInfoShowList", "*",
"PurchaseID", condition, pageindex, pagesize);
this.GridView1.DataBind();
}

for (int i = 0; i < GridView1.Rows.Count; i++)
{
switch (GridView1.Rows[i].Cells[1].Text)
{
case "0":
GridView1.Rows[i].Cells[1].Text = "待审核";
GridView1.Rows[i].Cells[1].ForeColor = System.Drawing.Color.Green;
break;
case "2":
GridView1.Rows[i].Cells[1].Text = "执行中";
GridView1.Rows[i].Cells[1].ForeColor = System.Drawing.Color.Orange;
break;
case "3":
GridView1.Rows[i].Cells[1].Text = "已完成";
GridView1.Rows[i].Cells[1].ForeColor = System.Drawing.Color.Green;
break;
default:
GridView1.Rows[i].Cells[1].Text = "出现错误";
break;
}

}
}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
pageindex = this.AspNetPager1.CurrentPageIndex - 1;
getallBioCRMContractList();
}

protected void imgbutnSearch_Click(object sender, ImageClickEventArgs e)
{
pageindex = 0;
condition = "";
if (txtName.Text.Trim() != null && this.txtName.Text.Trim().Length != 0)
{
condition = condition + " and Subject like '" + txtName.Text + "%'";
}

if (this.txtUserName.Text.Trim() != null && this.txtUserName.Text.Trim().Length != 0)
{
condition = condition + " and AppUserName like '" + txtUserName.Text + "%'";
}

if (this.ddlState.SelectedValue == "1")
{
condition = condition + " and DeleteSate ='True'";
}
else
{
condition = condition + " and DeleteSate ='False'";
}

if (this.txtOrderTime.Text.Trim() != null && this.txtOrderTime.Text.Trim().Length != 0)
{
condition = condition + " and (OrderTime>= '" + Convert.ToDateTime(this.txtOrderTime.Text) +
"' and OrderTime<'" + Convert.ToDateTime(this.txtOrderTime.Text).AddDays(1) + "')";
}

getallBioCRMContractList();


}

protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("ToExcel.aspx?name='产品购进单信息'");
}
}

 导出的公用方法:

/// <summary>
/// 根据指定文件名称和文件类型导出数据
/// </summary>
/// <param name="FileName">文件名</param>
/// <param name="FileType">文件类型(Execl:application/vnd.ms-excel Word:application/msword)</param>
public static void ExportFile(System.Web.UI.Page p, string FileName, string FileType)
{
p.Response.Clear();
p.Response.ContentEncoding = System.Text.Encoding.Default;
p.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
p.Response.ContentType = FileType;
}
}

 导出的前端代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ToExcel.aspx.cs" Inherits="BioErpWeb.WholeSaleSystem.ProPurchase.ToExcel" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
td{ text-align:center;}
body{ background-color:transparent;}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:GridView ID="GridView1" Width="100%" runat="server" AutoGenerateColumns="False" DataKeyNames="PurchaseID">
<Columns>
<asp:TemplateField HeaderText="序号">
<ItemTemplate>
<%#Container.DataItemIndex+1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Subject" HeaderText="主题" HeaderStyle-HorizontalAlign="Center"/>

<asp:TemplateField HeaderText="订货公司" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Eval("OrderCom") %>'></asp:Label>
</ItemTemplate>

<HeaderStyle HorizontalAlign="Center"></HeaderStyle>

<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="发货公司" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%#Eval("SendComName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>

<asp:TemplateField HeaderText="订货申请人" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label8" runat="server" Text='<%#Eval("AppUserName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>

<asp:TemplateField HeaderText="订货部门" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label9" runat="server" Text='<%# Eval("DepartMentName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="订货时间" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lbortime" runat="server" Text='<%# Convert.ToDateTime(Eval("OrderTime")).ToString("yyyy-MM-dd") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="订货总额" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lbtotal" runat="server" Text='<%# Eval("PurchaseTotal") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>


</Columns>
</asp:GridView>

</div>
</form>
</body>
</html>

 后台代码:

public partial class ToExcel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string filename = "";
if (Request.QueryString["name"] != null)
{
filename = DateTime.Now.ToString("yyyyMMdd")+Request.QueryString["name"].ToString()+".xls";
}
else
{
filename = DateTime.Now.ToString("yyyyMMdd.xls");
}

Comm.ExportFile(this, filename, "application/ms-excel");
gridviewbind();


}

/// <summary>
/// 绑定gridview
/// </summary>
protected void gridviewbind()
{
this.GridView1.DataSource = SqlComm.GetDataByCondition("dbo.View_PurchaseAppInfoShowList", "*",null);
this.GridView1.DataBind();
}
}