Всем привет!
При входе в БД у меня есть форма, с помощью которой я задаю параметры отбора (указываю данные).
У меня есть два текстбокса: Дата С и ПО. После входа в БД я могу поменять параметры отбора, вызвав снова эту форму, как мне сделать, чтобы при повторном открытии формы в текстбоксах дат (С и ПО) были данные, которые вводились крайний раз??? Даты записываются в свойствах DATE_D_ и END_ т.е. в самом интерфейсе даты которые я вводил крайний раз запоминаются с помощью команды Cursor.Properties.Set, как их теперь вывести?
Пытался вставить в условие что-то вроде: если Cursor.Properties.Contains("DATE_D") - проверяет есть ли запись в свойстве, то Cursor.Properties.Get - взять это свойство, не получается так ...
т.е. по сути, если в свойствах есть запись - вставить эти даты в текстбокс, иначе - вставить первый и последний день текущего месяца.
public class PwregCursor : DataEditorBusinessLogic.CursorLogic
{
public override SqlCmdText GetSqlFilter()
{
var Cond = ITnet2.Server.Dialogs.InputForm.Activate("_TESTFRM");
if (Cond.Success)
{
string Conditions = "";
// условие по дате C
var date_begin = Cond.InputFormValues.GetValue<DateTime>("DATE_D");
Cursor.Properties.Set("DATE_D_", date_begin); // запись значений данных в свойство
if (date_begin != null)
{
Conditions += " cast(PWREG.DATE_D as date) >= cast(@date_begin as date) ";
}
// условие по дате ПО
var date_end = Cond.InputFormValues.GetValue<DateTime>("END");
Cursor.Properties.Set("END_", date_end); // запись значений данных в свойство
if (date_end != null)
{
Conditions += "and cast(PWREG.DATE_D as date) <= cast(@date_end as date)";
}
var n_kdk = Cond.InputFormValues.GetValue<string>("N_KDK");
var rcentr = Cond.InputFormValues.GetValue<string>("RCENTR");
var ceh = Cond.InputFormValues.GetValue<string>("CEH");
// условие по сотруднику
if (n_kdk != null && n_kdk.Length > 0)
{
Conditions += " and PWREG.N_KDK = @n_kdk ";
}
// условие по рабочему центру
if (rcentr != null && rcentr.Length > 0)
{
Conditions += " and PWREG.RCENTR = @rcentr ";
}
// условие по цеху
if (ceh != null && ceh.Length > 0)
{
Conditions += " and PRCR.CEH = @ceh ";
}
return new SqlCmdText(string.Format(Conditions),
new SqlParam("n_kdk", n_kdk.ToString()),
new SqlParam("rcentr", rcentr.ToString()),
new SqlParam("ceh", ceh.ToString()),
new SqlParam("date_begin", date_begin),
new SqlParam("date_end", date_end));
}
}
}