diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/DataGridController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/DataGridController.js
index c6ea3fdad5f3830a51c7b37a5a942f7956e5d6fe..1b8cfc13b104c0c3566511479b700b767479dea5 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/DataGridController.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataGrid/DataGridController.js
@@ -24,7 +24,7 @@ function DataGridController(title, columns, data, rowClickEventHandler, showAllC
 		window.alert("[TO-DELETE] Empty configKey during the table init, this should never happen, tell the developers.");
 	}
 	
-	this.init = function($container) {
+	this.init = function($container, extraOptions) {
 		var webAppId = "ELN-LIMS";
 		mainController.serverFacade.openbisServer.getWebAppSettings(webAppId, function(response) {
 			var settings = response.result.settings;
@@ -53,9 +53,12 @@ function DataGridController(title, columns, data, rowClickEventHandler, showAllC
 			if(rowClickEventHandler) {
 				_this._grid.addRowClickListener(rowClickEventHandler);
 			}
+			if(extraOptions) {
+				_this._grid.addExtraOptions(extraOptions);
+			}
+			
 			_this._dataGridModel = new DataGridModel(title, columns, data, rowClickEventHandler, _this._grid.render(), isMultiselectable);
 			_this._dataGridView = new DataGridView(this, _this._dataGridModel);
-			
 			_this._dataGridView.repaint($container);
 		});	
 	}
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksView.js
index 08b0dfde97be07242737c9f0d2641d5e5fd493e7..2dede65c60a888e6b995f90cd8d2611c02f718ae 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksView.js
@@ -355,8 +355,16 @@ function LinksView(linksController, linksModel) {
 				$container.empty().hide();
 			}
 			
-			var dataGrid = SampleDataGridUtil.getSampleDataGrid(sampleTypeCode, samples, rowClick, null, null, null, true, true);
-			dataGrid.init($gridContainer);
+			var extraOptions = [];
+			extraOptions.push({ name : "Add all", action : function(selected) {
+				for(var sIdx = 0; sIdx < selected.length; sIdx++) {
+					linksController.addSample(selected[sIdx]);
+				}
+				$container.empty().hide();
+			}});
+			
+			var dataGrid = SampleDataGridUtil.getSampleDataGrid(sampleTypeCode, samples, rowClick, null, null, null, true, true, true);
+			dataGrid.init($gridContainer, extraOptions);
 		}
 		
 		//Check Cache and Show Table
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js
index 452c12623d5ddbfa3f6cdf06b12e178230733a53..78cf54ae496ab3a5ba2a1ac1bd1732d1d9214dea 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/grid/js/Grid.js
@@ -78,7 +78,10 @@ $.extend(Grid.prototype, {
 								}
 							}
 						}
-					});		
+					});
+					$checkbox.click(function(e) {
+						e.stopPropagation();
+					});
 					return $checkbox;
 				}
 		});
@@ -195,6 +198,10 @@ $.extend(Grid.prototype, {
 		return this.columns;
 	},
 
+	addExtraOptions : function(extraOptions) {
+		this.extraOptions = extraOptions;
+	},
+	
 	renderDropDownOptions: function() {
 		var thisGrid = this;
 		var columnList = thisGrid.panel.find(".optionsDropdown").find("ul");
@@ -263,6 +270,29 @@ $.extend(Grid.prototype, {
 		
 		columnList.append(itemARAC);
 		
+		if(this.extraOptions) {
+			for(var oIdx = 0; oIdx < this.extraOptions.length; oIdx++) {
+				var option = this.extraOptions[oIdx];
+				var extraLabel = $("<label>", { style : 'white-space: nowrap; cursor:pointer;' })
+									.attr("role", "menuitem")
+									.append(option.name);
+
+				var extraItem = $("<li>")
+							.attr("role", "presentation")
+							.attr("style", "margin-left: 5px; margin-right: 5px;")
+							.append(extraLabel);
+				
+				var getClick = function(option) {
+					return function() {
+						option.action(thisGrid.getSelected());
+					}
+				}
+				
+				extraItem.click(getClick(option));
+				
+				columnList.append(extraItem);
+			}
+		}
 	},
 	
 	exportTSV : function(isAllRowsOrVisible, isAllColumnsOrVisible) {