У меня ошибка при передаче моего значения TextBox в мой отчет Crystal:
System.Runtime.InteropServices.COMException(0x8002000B): Invalid index. (Exception from HRESULT: 0x8002000B(DIS_E_BADINDEX))
at CrystalDecisions.ReportAppServer.DataDefModel.FieldsClass.get_Item(Int32 Index)
at CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions.get_Item(Int32 Index)
at CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions.get_Item(String fieldName)
at WindowsFormsApplication1.Form15.button1_Click(Object sender, EventArgs e) in ..\Form15.cs: line 134
это мой код для отображения моих введенных значений в текстовых полях, которые будут отображаться в отчете, включая строку ошибки:
ParameterFieldDefinitions paramFieldDefinitions;
paramValue = new ParameterValues();
discreteValue = new ParameterDiscreteValue();
discreteValue.Value = Convert.ToString(txtYear.Text);
paramFieldDefinitions = CrystalReport81.DataDefinition.ParameterFields;
fieldDefinition = paramFieldDefinitions["Year"]; <-- the is the line 134
commonParam();
discreteValue.Value = Convert.ToString(comMonth.Text);
paramFieldDefinitions = CrystalReport81.DataDefinition.ParameterFields;
fieldDefinition = paramFieldDefinitions["Month"];
commonParam();
discreteValue.Value = Convert.ToString(Grade);
paramFieldDefinitions = CrystalReport81.DataDefinition.ParameterFields;
fieldDefinition = paramFieldDefinitions["Grade"];
commonParam();
discreteValue.Value = Convert.ToString(date);
paramFieldDefinitions = CrystalReport81.DataDefinition.ParameterFields;
fieldDefinition = paramFieldDefinitions["date"];
commonParam();
Приведенные ниже коды предназначены для передачи параметров в хранимую процедуру: (это выполняется)
ParameterFields myParams = new ParameterFields();
ParameterField name = new ParameterField();
ParameterDiscreteValue valName = new ParameterDiscreteValue();
name.ParameterFieldName = "@Log_User";
valName.Value = comEmployee.Text;
name.CurrentValues.Add(valName);
myParams.Add(name);
ParameterField month = new ParameterField();
ParameterDiscreteValue valMonth = new ParameterDiscreteValue();
month.ParameterFieldName = "@Month";
valMonth.Value = Convert.ToInt32(iMonth);
month.CurrentValues.Add(valMonth);
myParams.Add(month);
ParameterField year = new ParameterField();
ParameterDiscreteValue valYear = new ParameterDiscreteValue();
year.ParameterFieldName = "@Year";
valYear.Value = Convert.ToInt32(txtYear.Text);
year.CurrentValues.Add(valYear);
myParams.Add(year);
crystalReportViewer1.ParameterFieldInfo = myParams;
crystalReportViewer1.ReportSource = CrystalReport81;
crystalReportViewer1.Refresh();
Я действительно не знаю, как добавить значения из моих текстовых полей в мой Crystal Report .. Пожалуйста, помогите мне сделать это ...
Спасибо и благослови вас Бог: D