...
Code Block |
---|
|
<uc1:UCtrlLookupTableMaintPopup ID="UCtrlPopupLookupTableMaint" runat="server" /> |
The above will add the component to the page. There are some code changes that need to be made in order to ensure everything works as expected. They are:
- Adding the table name to the methods that return the values for a particular lookup code, insert a new record, and update an existing record. This only needs to be done once per table for the following methods of CSharp\Synergetic\Synergetic.Database\DataAccessManager.cs
- GetLookupTableRow
- UpdateLookupTableRow
- InsertLookupTableRow
You will also need to add the onChange event to the control in the relevant javascript file
Code Block |
---|
|
//when creating the control, the id is in the following format "LookupMaintComboBox" + PanelName + TableName
//code added to the init to attach the handler
LookupMaintComboBoxLocationluLocation.valueOf().ValueChanged.AddHandler(function () {
publicMethods.LookupComboBoxChangeValue(LookupMaintComboBoxLocationluLocation.GetValue());
});
//new public function
LookupComboBoxChangeValue: function (selectedCode) {
try {
var ajaxModel =
{
action: 'GetLookupTableRow',
LookupTable: 'luLocation',
Code: selectedCode,
getdataflag: _ajax.returnData.Yes
};
$.ajax({ type: 'POST', url: _locationAjaxURL, data: ajaxModel })
.done(function (dData) {
privateMethods.RefreshData(JSON.parse(dData.Data));
})
.fail(function (fData) {
_em.OnError(_controls.ErrorControl, new Error(fData.responseJSON.ServerMessage), '_Syn.{0}.Panels.{1}.{2}'.IFormat(_SynMaintPage, PanelName, 'Load'));
})
.always(function () {
_me.loadingPanel.Hide();
});
}
catch (e) {
_em.OnError(_controls.ErrorControl, e, '_Syn.{0}.Panels.{1}.{2}'.IFormat(_SynMaintPage, PanelName, 'Load'));
}
} |