C# ReportViewer локальный отчет с параметрамиC#

Место общения программистов C#
Ответить
Anonymous
 C# ReportViewer локальный отчет с параметрами

Сообщение Anonymous »

Добрый день, все, < /p>
Я потратил большую часть последних 2 недель в поисках помощи по этому вопросу с моим приложением C winform. Когда пользователь дважды щелкнет строку в этой сетке, код захватывает значение из столбца CustomerID, вкладывает ее в статическую общедоступную строку, а затем открывает другую форму, в которой есть отчет. был указан. Я поместил отчет в подпапку, называемую отчетами, которая находится в решении рядом со всеми моими формами. Не смей слишком много, я на 100% самоучка. < /P>

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Reporting.WinForms;
using System.Data.SqlClient;

namespace FormsApp
{
public partial class ReportGenerator : Form
{
public ReportGenerator()
{
InitializeComponent();
this.reportViewer1.RefreshReport();
}

private void ReportGenerator_Load(object sender, EventArgs e)
{
if (CustomerList.CustomerID!= "")
{
this.reportViewer1.ProcessingMode = ProcessingMode.Local;
this.reportViewer1.LocalReport.ReportPath = "\\Reports\\CustomerDetails.rdlc";
this.reportViewer1.ShowParameterPrompts = true;
ReportParameter CustID = new ReportParameter("CustomerID",CustomerList.CustomerID);
this.reportViewer1.LocalReport.SetParameters(CustID);
}
else
{}

}
}
}
< /code>
Я использую LocalReport неправильно? Я действительно в тупике, и это последний бит, который мне нужно, чтобы работать, тогда мое приложение завершено. 
Любая помощь будет высоко оценена.using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Reporting.WinForms;
using System.Data.SqlClient;

namespace FormsApp
{
public partial class ReportGenerator : Form
{
public ReportGenerator()
{
InitializeComponent();
this.reportViewer1.RefreshReport();
}

private DataTable getCustomerData()
{
SqlConnection con = new SqlConnection(Home.ConString);
DataSet ds = new DataSet();
ds.DataSetName = "CustomerListRetrieve";
string sql = "SELECT * FROM Customers";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
da.Fill(ds);
DataTable dt = ds.Tables[0];
return dt;
}

private void ReportGenerator_Load(object sender, EventArgs e)
{
if (CustomerList.CustomerID != "")
{
this.reportViewer1.Reset();
this.reportViewer1.LocalReport.ReportEmbeddedResource = "FormsApp.Reports.CustomerDetails.rdlc";
ReportDataSource rds = new ReportDataSource("CustomerListRetrieve", getCustomerData());
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.DataSources.Add(rds);
ReportParameter CustID= new ReportParameter("CustomerID", CustomerList.CustomerID);
this.reportViewer1.LocalReport.SetParameters(CustID);
this.reportViewer1.LocalReport.Refresh();
ViewButtonClicked();
}
else
{}
}

private void ViewButtonClicked(object sender, ReportParametersEventArgs e)
{
var SubmittedParameters = e.Parameters.Clone();
e.Parameters.Clear();
SubmittedParameters.Where(x => x.Name == "Parametername").FirstOrDefault().Values[0] = "YourValue";
SubmittedParameters.ToList().ForEach(x => e.Parameters.Add(x));
}
private void OnReportChosenFromList()
{
reportViewer1.SubmittingParameterValues -= ViewButtonClicked;
reportViewer1.SubmittingParameterValues += ViewButtonClicked;
}
}
}
< /code>
Код данных, который я добавил после ответа от Codingbiz. После добавления этого я больше не получил ошибку определения отчета, просто пустое окно при загрузке отчета 
. После добавления это я получу 2 ошибки, указав: < /p>
  • Ошибка 1 только назначение, вызов, приращение, уменьшение, ожидание и выражения объекта могут использоваться в качестве оператора. < /Li>

    Код: Выделить всё

    Microsoft.Reporting.WinForms.ReportParameterCollection
    не содержит определения для «клона» и метода расширения «клон» ...
Действительно озадачен. Вероятно, внедрил предложения неправильно.

Подробнее здесь: https://stackoverflow.com/questions/425 ... -parameter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»