FastReport.Net. Ошибка при регистрации данных
Согласно документации FastReport.Net метод RegisterData перегружен, и я могу регистрировать данные несколькими способами. Я пытаюсь зарегистрировать набор данных по следующему коду:
adapter.SelectCommand.CommandText = "SELECT t.* FROM test t";
ds = new DataSet();
adapter.Fill(ds);
report1.Load("report1.frx");
report1.RegisterData(ds, "user_ds");
report1.GetDataSource("user_ds").Enabled = true; //Error: Object reference not set to an instance of an object.
((DataBand)report1.FindObject("Data1")).DataSource = report1.GetDataSource("user_ds");
report1.Show();
и получите ошибку:
В экземпляре объекта не задана ссылка на объект.
Но я получаю успех, когда регистрирую таблицу данных:
adapter.SelectCommand.CommandText = "SELECT t.* FROM test t";
ds = new DataSet();
adapter.Fill(ds, "test");
report1.Load("report1.frx");
report1.RegisterData(ds.Tables["test"], "user_ds");
report1.GetDataSource("user_ds").Enabled = true;
((DataBand)report1.FindObject("Data1")).DataSource = report1.GetDataSource("user_ds");
report1.Show();
Почему я не могу зарегистрировать набор данных?
1 ответ
Вам нужно использовать имя таблицы в GetDataSource
метод.
Например:
DataSet ds = new DataSet();
ds.Tables.Add("test");
report1.RegisterData(ds, "user_ds");
report1.GetDataSource("test").Enabled = true; // "test", not "user_ds"