Здравствуйте.
Этот вопрос скорее всего уже поднимался.
Заранее извиняюсь, но я быстро не нашел ответ.
Я не понимаю как инициализируется dataset в окне.
Создал окно:
?xml version="1.0" encoding="UTF-8"?>
Service UID="2BC45C2CA0A64DCC87E9154684A8B3B3" USI="X15\Window Templates\SelectRights\wnd_SelectRights" ServiceTypeCode="Window" Caption="wnd_SelectRights" ScriptUSI="wnd_SelectRightsScript" WindowCaption="Права доÑтупа" LEFT="0" Top="0" Width="433" Name="wnd_SelectRights" Type="Window" IsClient="True">EventsDispatcher>Item ObjectID="btnOk" UID="306CE453948C4E82AEECC61E53831CA5">Item MethodName="OnClick" UID="4D8154B77C0F47699512D37B74D4726D" ScriptMethodName="btnOkOnClick">Item>Item>Item ObjectID="wnd_SelectRights" UID="86B49F92814547DEA54A8B63727BF23C">Item MethodName="OnPrepare" UID="2FCA18A3EE7149648A0F7F8EC242CB91" ScriptMethodName="wnd_SelectRightsOnPrepare">Item>Item>Item ObjectID="dlData" UID="7F2353F194244447B783E2B9D357509F">Item MethodName="OnDatasetBeforeOpen" UID="D1547D8D7BE744F5B67CC57B7CB25B38" ScriptMethodName="dlDataOnDatasetBeforeOpen">Item>Item MethodName="OnDatasetAfterOpen" UID="897493D066B34A3890B6A44FFC4FD9E1" ScriptMethodName="dlDataOnDatasetAfterOpen">Item>Item>Item ObjectID="btnCancel" UID="0C648147757C46A99F8A08B331FD10E0">Item MethodName="OnClick" UID="B4C3CFF0D8384106A6701597FDBEE2B2" ScriptMethodName="btnCancelOnClick">Item>Item>EventsDispatcher>NonVisualComponents>Item Name="dlData" UID="DF4C24C5658B4CE1A30769CDC5726C9A" Type="DatasetLink" ServiceUSI="ds_SelectRights">Item>NonVisualComponents>Item Name="fmGrid" UID="007C1648255A48D3B8B57A0BE96F8B00" Type="Frame" Size="0" IsClient="True" OffsetLeft="5" OffsetRight="5">Item Name="grdData" UID="82895AAF32BC4E0B95C7D795A8A6A700" Type="DataTreeGrid" AlignHorizontal="2" AlignVertical="2" DatasetLinkName="dlData" ActiveViewName="gvData" ReportUSI="fr_DataGrid" CanRefresh="False" CanPrint="False" CanExport="False">Item Name="gvData" UID="E65E13FCAA5B44DF9060EF1A5609BA00" Type="DataGridView">Item Name="AdminName" UID="CBC70A1989634580B41751F5EF91FA51" Type="DataGridColumn" DataFieldName="AdminName" Width="136">Item>Item Name="CanRead" UID="FF0A87329622432BA1DE8D2FFFF49770" Type="DataGridColumn" DataFieldName="CanRead" Width="136">Item>Item Name="CanWrite" UID="F3622DC8037C4F99AB19865DF4C169FD" Type="DataGridColumn" DataFieldName="CanWrite" Width="136">Item>Item>Item>Item>Item Name="fmButtons" UID="5C5BD23B228E456B8C23E172FACB6F99" Type="Frame" Size="33" GroupType="3" Direction="0">Item Name="btnOk" UID="FC92D777E36343A1810122C9DC0BE62C" Type="Button" Caption="OK" IsCaptionVisible="False" AlignHorizontal="1">Item>Item Name="btnCancel" UID="3E8CA1E7A57D466197F24B368518F634" Type="Button" Caption="Отмена" IsCaptionVisible="False" AlignHorizontal="1">Item>Item>Service>
Service UID="2BC45C2CA0A64DCC87E9154684A8B3B3" USI="X15\Window Templates\SelectRights\wnd_SelectRights" ServiceTypeCode="Window" Caption="wnd_SelectRights" ScriptUSI="wnd_SelectRightsScript" WindowCaption="Права доÑтупа" LEFT="0" Top="0" Width="433" Name="wnd_SelectRights" Type="Window" IsClient="True">EventsDispatcher>Item ObjectID="btnOk" UID="306CE453948C4E82AEECC61E53831CA5">Item MethodName="OnClick" UID="4D8154B77C0F47699512D37B74D4726D" ScriptMethodName="btnOkOnClick">Item>Item>Item ObjectID="wnd_SelectRights" UID="86B49F92814547DEA54A8B63727BF23C">Item MethodName="OnPrepare" UID="2FCA18A3EE7149648A0F7F8EC242CB91" ScriptMethodName="wnd_SelectRightsOnPrepare">Item>Item>Item ObjectID="dlData" UID="7F2353F194244447B783E2B9D357509F">Item MethodName="OnDatasetBeforeOpen" UID="D1547D8D7BE744F5B67CC57B7CB25B38" ScriptMethodName="dlDataOnDatasetBeforeOpen">Item>Item MethodName="OnDatasetAfterOpen" UID="897493D066B34A3890B6A44FFC4FD9E1" ScriptMethodName="dlDataOnDatasetAfterOpen">Item>Item>Item ObjectID="btnCancel" UID="0C648147757C46A99F8A08B331FD10E0">Item MethodName="OnClick" UID="B4C3CFF0D8384106A6701597FDBEE2B2" ScriptMethodName="btnCancelOnClick">Item>Item>EventsDispatcher>NonVisualComponents>Item Name="dlData" UID="DF4C24C5658B4CE1A30769CDC5726C9A" Type="DatasetLink" ServiceUSI="ds_SelectRights">Item>NonVisualComponents>Item Name="fmGrid" UID="007C1648255A48D3B8B57A0BE96F8B00" Type="Frame" Size="0" IsClient="True" OffsetLeft="5" OffsetRight="5">Item Name="grdData" UID="82895AAF32BC4E0B95C7D795A8A6A700" Type="DataTreeGrid" AlignHorizontal="2" AlignVertical="2" DatasetLinkName="dlData" ActiveViewName="gvData" ReportUSI="fr_DataGrid" CanRefresh="False" CanPrint="False" CanExport="False">Item Name="gvData" UID="E65E13FCAA5B44DF9060EF1A5609BA00" Type="DataGridView">Item Name="AdminName" UID="CBC70A1989634580B41751F5EF91FA51" Type="DataGridColumn" DataFieldName="AdminName" Width="136">Item>Item Name="CanRead" UID="FF0A87329622432BA1DE8D2FFFF49770" Type="DataGridColumn" DataFieldName="CanRead" Width="136">Item>Item Name="CanWrite" UID="F3622DC8037C4F99AB19865DF4C169FD" Type="DataGridColumn" DataFieldName="CanWrite" Width="136">Item>Item>Item>Item>Item Name="fmButtons" UID="5C5BD23B228E456B8C23E172FACB6F99" Type="Frame" Size="33" GroupType="3" Direction="0">Item Name="btnOk" UID="FC92D777E36343A1810122C9DC0BE62C" Type="Button" Caption="OK" IsCaptionVisible="False" AlignHorizontal="1">Item>Item Name="btnCancel" UID="3E8CA1E7A57D466197F24B368518F634" Type="Button" Caption="Отмена" IsCaptionVisible="False" AlignHorizontal="1">Item>Item>Service>
Скрипт:
//-----------------------------------------------------------------------------
// wnd_SelectRightsScript
//-----------------------------------------------------------------------------
var SelectRights = new Object();
FUNCTION InitializeSelectRights(Window, SelectRights, DataLinkObject) {
InitializeDataset(DataLinkObject, Window, SelectRights);
RETURN SelectRights.Dataset;
}
FUNCTION InitializeDataset(DataLinkObject, Window, SelectRights) {
IF (!Assigned(DataLinkObject.Dataset)) {
CheckAttributes(Window, 'DatasetUSI');
SelectRights.DatasetUSI = GetAttribute(Window, 'DatasetUSI');
SelectRights.Dataset =
Services.GetNewItemByUSI(SelectRights.DatasetUSI);
DataLinkObject.Dataset = SelectRights.Dataset;
} else {
SelectRights.Dataset = DataLinkObject.Dataset;
SelectRights.DatasetUSI = SelectRights.Dataset.USI;
}
}
// ----------------------------------------------------------------------------
// Event handlers
// ----------------------------------------------------------------------------
FUNCTION btnOkOnClick(Control) {
}
FUNCTION wnd_SelectRightsOnPrepare(Window) {
InitializeSelectRights(Window, SelectRights, dlData);
}
FUNCTION btnCancelOnClick(Control) {
Control.ParentWindow.Close();
}
FUNCTION dlDataOnDatasetAfterOpen(Dataset) {
Log.WRITE(1, 'Test');
}
FUNCTION dlDataOnDatasetBeforeOpen(Dataset) {
Log.WRITE(1, 'Test');
}
// wnd_SelectRightsScript
//-----------------------------------------------------------------------------
var SelectRights = new Object();
FUNCTION InitializeSelectRights(Window, SelectRights, DataLinkObject) {
InitializeDataset(DataLinkObject, Window, SelectRights);
RETURN SelectRights.Dataset;
}
FUNCTION InitializeDataset(DataLinkObject, Window, SelectRights) {
IF (!Assigned(DataLinkObject.Dataset)) {
CheckAttributes(Window, 'DatasetUSI');
SelectRights.DatasetUSI = GetAttribute(Window, 'DatasetUSI');
SelectRights.Dataset =
Services.GetNewItemByUSI(SelectRights.DatasetUSI);
DataLinkObject.Dataset = SelectRights.Dataset;
} else {
SelectRights.Dataset = DataLinkObject.Dataset;
SelectRights.DatasetUSI = SelectRights.Dataset.USI;
}
}
// ----------------------------------------------------------------------------
// Event handlers
// ----------------------------------------------------------------------------
FUNCTION btnOkOnClick(Control) {
}
FUNCTION wnd_SelectRightsOnPrepare(Window) {
InitializeSelectRights(Window, SelectRights, dlData);
}
FUNCTION btnCancelOnClick(Control) {
Control.ParentWindow.Close();
}
FUNCTION dlDataOnDatasetAfterOpen(Dataset) {
Log.WRITE(1, 'Test');
}
FUNCTION dlDataOnDatasetBeforeOpen(Dataset) {
Log.WRITE(1, 'Test');
}
В скрипте функции как в BaseGridArea
Но dlDataOnDatasetBeforeOpen не отрабатывают. Значит dlData не открывается. Почему?
Нравится
1 комментарий
18 сентября 2008 08:57
Немного перефразирую вопрос.
У меня не получается вставить в окно объект Datagrid, если не задан TemplateWindow - wnd_BaseGridArea. Почему?
А задача следующая. Создать окно, где человек галочками отмечает нужные ему опции, колонки опций две. А строками в окне является список существующих групп пользователей. Список опцию нужно передать в скрипт. Как это правильнее сделать?
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать