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"
Другие вопросы по тегам