StiTextEditorEventArgs

Обсуждение Stimulsoft Reports.NET
Ответить
Trv
Сообщения: 54
Зарегистрирован: 14 мар 2007, 05:55
Откуда: Kiyv

StiTextEditorEventArgs

Сообщение Trv »

Добрый день.
1. Я хочу запоминать изменения, которые пользователь делает в режиме "Редактирование". Для этого я подписался на событие TextEditorClose.
Новое значение текста можно получить без проблемы: string newText = e.TextBox.Text в событии private void stiViewerControl1_TextEditorOpen(object sender, Stimulsoft.Report.Viewer.StiTextEditorEventArgs e)
Но как получить название текстового поля, в котором произошло это событие?
e.TextBox.Name возвр. пустое значение

2. Перешел на версию 2011.3.1200.0
Перестал работать след. код:

stiReport1.Compile();
stiReport1["Period"]= "Мой текст";
stiReport1.Render(true);

Ошибки не происходит, но значение в отчете не меняется
Обошел проблему таким образом:

stiReport1.Compile();
stiReport1.Dictionary.Variables["Period"].Value = "Мой текст";
stiReport1.Render(true);

Работаю на Windows 7 Prof x64
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

StiTextEditorEventArgs

Сообщение HighAley »

Здравствуйте.
Trv писал(а):1. Я хочу запоминать изменения, которые пользователь делает в режиме "Редактирование". Для этого я подписался на событие TextEditorClose.
Новое значение текста можно получить без проблемы: string newText = e.TextBox.Text в событии private void stiViewerControl1_TextEditorOpen(object sender, Stimulsoft.Report.Viewer.StiTextEditorEventArgs e)
Но как получить название текстового поля, в котором произошло это событие?
e.TextBox.Name возвр. пустое значение
Мы исправили данную проблему. В нашем следующем билде на следующей неделе e.TextBox.Name будет возвращать имя компонента.
Trv писал(а):2. Перешел на версию 2011.3.1200.0
Перестал работать след. код:

stiReport1.Compile();
stiReport1["Period"]= "Мой текст";
stiReport1.Render(true);

Ошибки не происходит, но значение в отчете не меняется
Обошел проблему таким образом:

stiReport1.Compile();
stiReport1.Dictionary.Variables["Period"].Value = "Мой текст";
stiReport1.Render(true);

Работаю на Windows 7 Prof x64

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

stiReport1["Period"]= "Мой текст";
изменяет значение переменной в откомпилированном отчёте. Если после изменения вызывать метод Show(), ты вы увидите новое значение. Однако метод Design() перекомпилирует отчёт, когда вы его просматриваете, и использует значение переменной по умолчанию.

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

stiReport1.Dictionary.Variables["Period"].Value = "Мой текст";
Изменяет значение по умолчанию, и данный вариант сработает в любом случае.

Спасибо.
Trv
Сообщения: 54
Зарегистрирован: 14 мар 2007, 05:55
Откуда: Kiyv

StiTextEditorEventArgs

Сообщение Trv »

Мы исправили данную проблему. В нашем следующем билде на следующей неделе e.TextBox.Name будет возвращать имя компонента.
Спасибо. Буду ждать.
изменяет значение переменной в откомпилированном отчёте. Если после изменения вызывать метод Show(), ты вы увидите новое значение. Однако метод Design() перекомпилирует отчёт, когда вы его просматриваете, и использует значение переменной по умолчанию.
Я вызываю метод stiReport1.Render(true), а не Design()
в любом случае, тогда поправьте в Stimulsoft_Reports.Net_FAQ.En.chm:

How to send parameters for an SQL query by application?




1. You can use an expression to form any part in an SQL query. First, you add variables to the SQL query:





select * from customers where code = {myvariable}





2. You need to create a variable in the Report Dictionary.



3. You need to initialize the variable before report running:



C#



StiReport report = new StiReport();

rreport.Load("Variables.mrt");

report.Compile();



//Set Variable

report["myvariable"] = 123;



report.Render();

HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

StiTextEditorEventArgs

Сообщение HighAley »

Здравствуйте.
Trv писал(а):Я вызываю метод stiReport1.Render(true), а не Design()
Извините, перепутал методы. Ваш первый вариант проверили, всё работает.

Спасибо.
Ответить