The password cell type behaves like a text cell, the only difference being that it masks its value using asterisks in the cell renderer. An <input type="password"> field is used for the cell editor. Data is stored in the data source as plain text.
const container = document.querySelector('#example1');const hot =newHandsontable(container,{data:[{id:1,name:{first:'Chris',last:'Right'},password:'plainTextPassword'},{id:2,name:{first:'John',last:'Honest'},password:'txt'},{id:3,name:{first:'Greg',last:'Well'},password:'longer'}],colHeaders:['ID','First name','Last name','Password'],height:'auto',licenseKey:'non-commercial-and-evaluation',columns:[{data:'id'},{data:'name.first'},{data:'name.last'},{data:'password',type:'password'}]});
By default, every hash consists of asterisks *. Use the option hashSymbol to set a custom hash symbol. You can use any character, entity, or even HTML. Note that you can't change the symbol used by the input field due to browser limitations.
const container = document.querySelector('#example3');const hot =newHandsontable(container,{data:[{id:1,name:{first:'Chris',last:'Right'},password:'plainTextPassword'},{id:2,name:{first:'John',last:'Honest'},password:'txt'},{id:3,name:{first:'Greg',last:'Well'},password:'longer'}],colHeaders:['ID','First name','Last name','Password'],height:'auto',licenseKey:'non-commercial-and-evaluation',columns:[{data:'id'},{data:'name.first'},{data:'name.last'},{data:'password',type:'password',hashSymbol:'■'}]});