2017-01-16 14 views
0
string sql = "select Prg_Name, Goal, Domain,Step_Desc_Oreginal FROM dbo.TBL_CTL_ControlProgram where PRG_ID = " + prg_id; 
DataSet ds = db.GetDS(sql, "CIBCTL"); 
DataTable dt = new DataTable(); 
dt.Columns.Add(new DataColumn("Step_Desc_Oreginal", typeof(string))); 
dt.Columns.Add(new DataColumn("Prg_Name", typeof(string))); 
dt.Columns.Add(new DataColumn("Domain", typeof(string))); 
dt.Columns.Add(new DataColumn("Goal", typeof(string))); 

     /////////////////// 


     ////////////////// 
foreach (DataRow ProgRow in ds.Tables[0].Rows) 
{ 
    dt.Rows.Add(ProgRow["Step_Desc_Oreginal"].ToString(), ProgRow["Prg_Name"].ToString(), ProgRow["Domain"].ToString(), ProgRow["Goal"].ToString()); 
} 
ReportViewer1.ProcessingMode = ProcessingMode.Local; 
ReportViewer1.Reset(); 
ReportDataSource rds = new ReportDataSource("DataSet1", dt); 
//ReportViewer1.LocalReport.ReportPath = Server.MapPath(@"CIB_CTL\\ReportProg.rdlc"); //"CIB_CTL\\ReportProg.rdlc"; 

ReportViewer1.LocalReport.ReportPath = "ReportProg.rdlc"; //"CIB_CTL\\ReportProg.rdlc";//Server.MapPath(@"ReportProg.rdlc"); 

ReportViewer1.LocalReport.DataSources.Clear(); 
ReportViewer1.LocalReport.DataSources.Add(rds); 
ReportViewer1.LocalReport.Refresh(); 






<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Width="950px" Height="550px" AsyncRendering="False"> 
    <ServerReport ReportServerUrl="" /> 
    <LocalReport ReportPath="ReportProg.rdlc"> 
     <DataSources> 
      <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1" /> 
     </DataSources> 
    </LocalReport> 
</rsweb:ReportViewer> 
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetData" TypeName="CIBPRJ.CIB_CTL.ProgDataSetTableAdapters.DataTable1TableAdapter"></asp:ObjectDataSource> 
+0

누구든지이 문제를 해결할 수 있도록 도와 줄 수 있습니다. 너의 대답에 대해 –

답변

0

aspx 및 코드 뒤에서 모든 데이터 세트 정보를 언급 할 필요가 없다고 생각합니다. 방금 aspx에 필요한 모든 코드를 입력했습니다. 그것에서이 선을 제외하십시오.

<ServerReport ReportServerUrl="" /> 

해당하지 않습니다. 마크 업에 SelectMethod="GetData"을 지정했지만 Dataset1과 일치하는 데이터 항목을 반환하는 백엔드에서 GetData 메소드를 볼 수 없습니다. 그래서 당신은 그 라인을

ReportViewer1.ProcessingMode = ProcessingMode.Local; 
ReportViewer1.Reset(); 
ReportDataSource rds = new ReportDataSource("DataSet1", dt); 
//ReportViewer1.LocalReport.ReportPath = Server.MapPath(@"CIB_CTL\\ReportProg.rdlc"); //"CIB_CTL\\ReportProg.rdlc"; 

ReportViewer1.LocalReport.ReportPath = "ReportProg.rdlc"; //"CIB_CTL\\ReportProg.rdlc";//Server.MapPath(@"ReportProg.rdlc"); 

ReportViewer1.LocalReport.DataSources.Clear(); 
ReportViewer1.LocalReport.DataSources.Add(rds); 
ReportViewer1.LocalReport.Refresh(); 

를 제거 작품 않을 경우 제대로 GetData의를 정의합니다.

+0

고마워. 하지만 데이터 집합에서 데이터를 가져오고 getdata()는 데이터 집합 생성시 정의됩니다. 문제는 보고서가 사용 중지 된 헤더 및 보고서에 데이터가없는 상태로 표시된다는 것입니다. 나는 잘 작동하는 코드를 점검했다. 보고서의 일부 속성이나 구성이 누락 된 것 같습니다. –

관련 문제