Страница 1 из 1

Использование источника данных XML

Добавлено: 27 ноя 2006, 06:22
andr12
У меня затруднение с использованием источника данных из XML.
Создаю в дизайнере шаблон отчета с использованием ист. данных XML, прямо по
демке "How to bind to Xml in Report Designer" с сайта.

При этом, полные пути c:\demodata.xml и c:\demodata.xsd прописываются внуть .mrt файла.
И совершенно правомерно, используются в дизайн-тайме.

Моя проблема в том, что я не могу убедить SR, чтобы он в рантайме использовал те файлы, какие я укажу,
То есть, SR и в рантайме использует xml-файлы, с которым был задизайнен шаблон.

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

 
            string mrt = args[0];
            string xml = args[1] + ".xml";
            string xsd = args[1] + ".xsd";

            report1.Load(mrt);

            DataSet dataSet1 = new DataSet();
            dataSet1.ReadXmlSchema(xsd);
            dataSet1.ReadXml(xml);
            report1.RegData(dataSet1);

            report1.Render(true);
            PreviewControl.SaveConfig();
            PreviewControl.Refresh();
            PreviewControl.LoadConfig();

Использование источника данных XML

Добавлено: 28 ноя 2006, 03:37
Edward
andr12 писал(а):У меня затруднение с использованием источника данных из XML.
Создаю в дизайнере шаблон отчета с использованием ист. данных XML, прямо по
демке "How to bind to Xml in Report Designer" с сайта.

При этом, полные пути c:\demodata.xml и c:\demodata.xsd прописываются внуть .mrt файла.
И совершенно правомерно, используются в дизайн-тайме.

Моя проблема в том, что я не могу убедить SR, чтобы он в рантайме использовал те файлы, какие я укажу,
То есть, SR и в рантайме использует xml-файлы, с которым был задизайнен шаблон.

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

 
            string mrt = args[0];
            string xml = args[1] + ".xml";
            string xsd = args[1] + ".xsd";

            report1.Load(mrt);

            DataSet dataSet1 = new DataSet();
            dataSet1.ReadXmlSchema(xsd);
            dataSet1.ReadXml(xml);
            report1.RegData(dataSet1);

            report1.Render(true);
            PreviewControl.SaveConfig();
            PreviewControl.Refresh();
            PreviewControl.LoadConfig();
Вам необходимо указать название для dataSet1 либо при его создании

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

DataSet dataSet1 = new DataSet("mydataset");
либо при регистрации его в DataStore отчета:

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

report1.RegData("mydataset",dataSet1);
Спасибо.

Использование источника данных XML

Добавлено: 28 ноя 2006, 07:18
Edward
Если отчет уже содержит источник данных с таким же именем, то их нужно предварительно удалить при помощи

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

report.Dictionary.Databases.Clear();
после этого Вы сможете зарегистрировать данные при помощи метода RegData с таким же названием.

Спасибо.