Grid Multi-Users support

Grid for Angular

Angular standalone version of this topic (compatible with Angular 17+). Import both the Smart UI component and module in the standalone component.

What this topic covers: practical setup, the framework-specific API access pattern, and copy-adapt guidance for the examples in this page.

import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterOutlet } from '@angular/router';
import { GridComponent, GridModule } from 'smart-webcomponents-angular/grid';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [CommonModule, GridModule, RouterOutlet],
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
  encapsulation: ViewEncapsulation.None
})
export class AppComponent {
  @ViewChild('grid', { read: GridComponent, static: false }) grid!: GridComponent;
}
<!-- app.component.html -->
<smart-grid #grid></smart-grid>

Use this.grid for API methods in this topic.

Grid Users

The Grid component has built-in dialogs for 'comments', 'history' of edits and support for multiple users. For example, if you create a web app with a Grid, you may want to track which user edited something or enable comments between the users. In order to handle such use-case scenarios, the users and currentUser properties are available.
Example:
currentUser: 0,
users: [
	{ id: 0, color: '#8E24AA', name: 'Andrew', image: '../../images/people/andrew.png' },
	{ id: 1, color: '#41B883', name: 'Anne', image: '../../images/people/anne.png' },
	{ id: 2, color: '#53B9E6', name: 'Janet', image: '../../images/people/janet.png' },
	{ id: 3, color: '#FFCD42', name: 'John', image: '../../images/people/john.png' },
	{ id: 4, color: '#DD5347', name: 'Laura', image: '../../images/people/laura.png' }
]
	
See example with multiple users: https://www.htmlelements.com/demos/grid/users/.
grid users

Dialog with comments section
grid users comments


After doing some edits in the Grid
grid after edit
For AI tooling

Developer Quick Reference

Topic: grid-users   Component: Grid   Framework: Angular

Main methods: (none detected)

Common config keys: (none detected)

Implementation Notes

Compatibility: Angular 17+ (standalone)   API access pattern: @ViewChild(...) + this.component.method()

Lifecycle guidance: Bind inputs declaratively and call imperative API through @ViewChild in/after ngAfterViewInit.

Common pitfalls:

  • Using @ViewChild API too early (before view init).
  • Omitting standalone imports for Smart modules in @Component.imports.
  • Type mismatches between configuration fields and template bindings.

Validation checklist:

  • Ensure module import exists in standalone component imports array.
  • Use typed @ViewChild(..., { read: ComponentType }).
  • Call imperative methods after view initialization.