string
cCount =
""
;
string
dCount =
""
;
string
jCount =
""
;
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
string
id = Request.QueryString[
"OrderID"
] ==
null
?
"1"
: Request.QueryString[
"OrderID"
].ToString();
SqlConnection con =
new
SqlConnection(
"server=CHENZQ;uid=sa;pwd=luca623;database=luca"
);
SqlDataAdapter sda =
new
SqlDataAdapter(
"select * from view_Order where C_orderID='"
+ id +
"'"
, con);
DataSet ds =
new
DataSet();
sda.Fill(ds);
cCount = ds.Tables[0].Rows[0][
"C_CTime"
].ToString();
dCount = ds.Tables[0].Rows[0][
"C_TTime"
].ToString();
jCount = ds.Tables[0].Rows[0][
"C_DTime"
].ToString();
ReportViewer1.Reset();
this
.ReportViewer1.LocalReport.LoadReportDefinition(GenerateRdlc());
ReportViewer1.LocalReport.DataSources.Clear();
this
.ReportViewer1.LocalReport.DataSources.Add(
new
ReportDataSource(
"Orders_DataTable1"
, ds.Tables[0]));
this
.ReportViewer1.LocalReport.Refresh();
}
}
public
MemoryStream GenerateRdlc()
{
XmlDocument sourceDoc =
new
XmlDocument();
string
path = AppDomain.CurrentDomain.BaseDirectory +
"Orders.rdlc"
;
sourceDoc.Load(path);
XmlNode xHeader =
sourceDoc.ChildNodes.Item(1).ChildNodes.Item(13).ChildNodes.Item(1).ChildNodes.Item(0).ChildNodes.Item(4);
XmlNode xCells = xHeader.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(0);
XmlNode xmlCell = xCells.ChildNodes.Item(1);
XmlElement xeCol = sourceDoc.CreateElement(
"ColSpan"
);
xeCol.InnerText = cCount;
xeCol.InnerXml = cCount;
xmlCell.InnerXml += xeCol.OuterXml;
XmlNode xmlCellValue = xmlCell.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(4);
xmlCellValue.InnerXml =
"建设期"
;
xmlCellValue.InnerText =
"建设期"
;
XmlNode xnRemove;
for
(
int
i = 0; i <
int
.Parse(cCount) - 1; i++)
{
xnRemove = xCells.ChildNodes.Item(2);
xCells.RemoveChild(xnRemove);
}
XmlNode xmlCellT = xCells.ChildNodes.Item(2);
XmlElement xeColT = sourceDoc.CreateElement(
"ColSpan"
);
xeColT.InnerText = dCount;
xeColT.InnerXml = dCount;
xmlCellT.InnerXml += xeColT.OuterXml;
XmlNode xmlCellValueT = xmlCellT.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(4);
xmlCellValueT.InnerXml =
"投产期"
;
xmlCellValueT.InnerText =
"投产期"
;
for
(
int
j = 0; j <
int
.Parse(dCount) - 1; j++)
{
xnRemove = xCells.ChildNodes.Item(3);
xCells.RemoveChild(xnRemove);
}
XmlNode xmlCellC = xCells.ChildNodes.Item(3);
XmlElement xeColC = sourceDoc.CreateElement(
"ColSpan"
);
xeColC.InnerText = jCount.ToString();
xeColC.InnerXml = jCount.ToString();
xmlCellC.InnerXml += xeColC.OuterXml;
XmlNode xmlCellValueC = xmlCellC.ChildNodes.Item(0).ChildNodes.Item(0).ChildNodes.Item(4);
xmlCellValueC.InnerXml =
"生产期"
;
xmlCellValueC.InnerText =
"生产期"
;
for
(
int
j = 0; j <
int
.Parse(jCount) - 1; j++)
{
xnRemove = xCells.ChildNodes.Item(4);
xCells.RemoveChild(xnRemove);
}
MemoryStream ms =
new
MemoryStream();
XmlSerializer serializer =
new
XmlSerializer(
typeof
(XmlDocument));
serializer.Serialize(ms, sourceDoc);
ms.Position = 0;
return
ms;
}