diff --git a/source/components/datatable/status.mjs b/source/components/datatable/status.mjs
index 8f929c080bc90be87d0fd0f7e9c37a82b64bdc4f..6ea1294cf0c3e64a234afe1a99529466cde4cd13 100644
--- a/source/components/datatable/status.mjs
+++ b/source/components/datatable/status.mjs
@@ -30,6 +30,7 @@ import "./datasource/rest.mjs";
 import "../form/popper.mjs";
 import "../form/context-error.mjs";
 import { StatusStyleSheet } from "./stylesheet/status.mjs";
+import {Formatter} from "../../text/formatter.mjs";
 
 export { DatasourceStatus };
 
@@ -82,6 +83,11 @@ class DatasourceStatus extends CustomElement {
 	 * @property {string} templates.main Main template
 	 * @property {Object} datasource Datasource configuration
 	 * @property {string} datasource.selector The selector of the datasource
+	 * @property {Object} callbacks Callbacks
+	 * @property {Function} callbacks.onError Callback function for error handling
+	 * @property {Object} timeouts Timeouts
+	 * @property {number} timeouts.message Timeout for the message
+	 * @property {Object} state State
 	 */
 	get defaults() {
 		return Object.assign({}, super.defaults, {
@@ -93,6 +99,11 @@ class DatasourceStatus extends CustomElement {
 				selector: null,
 			},
 
+			callbacks: {
+				onError: null
+			},
+
+
 			timeouts: {
 				message: 4000,
 			},
@@ -205,6 +216,12 @@ function initEventHandler() {
 				}
 			} catch (e) {
 			} finally {
+
+				const callback = self.getOption("callbacks.onError", null);
+				if (callback) {
+					msg = callback(msg);
+				}
+
 				self[errorElementSymbol].setErrorMessage(msg, timeout);
 			}
 		});