How do you display items on Listview from GoogleSheet sheet2?

Here I have created one Gsheet inside 3 sheets (STOCK, SHOPs, ORDERs)


I can add from my app to GSheet sheets(STOCK, SHOP, ORDER) it's ok working
but when I want to display on ListView,
from SHOPS sheet it's showing me STOCKS sheet items.

This is for SHOP Block:

This is for STOCK block


add "&sheetname=SHOPS" to your url

2 Likes

Not working ;(

When I'm using this it's working but I would like to use like &sheet=SHOPS

You are mistake, you have capitalised the s letter, it should be &sheet= SHOPS.. actually the gsheet URL can access with either gid number or sheet name. So u can choose any

1 Like

I'm again facing almost with similar Issue.
When I tried to EDIT on SHOP sheet it's EDITING into STOCK sheet

I've no issue with ADD on Shop sheet BUT I've issue with EDIT

Here is working ADD block:


image

Here is NOTworking EDIT block:

HERE is my SCRIPT:

The script and the blocks don't match. Did you read this?

Actually I'm taking always taking e.parameter.Shopname
but let me change let's see

Same for others, when you capitalized letters when you shouldn't.

Gordon_Lu Why you're looking ADD function on script I dont' have issue with ADDing. I've issuee with EDIT/UPDATE

Here is my Script may be you can help me :grin:


 
function doPost(e) { 
  var ss = SpreadsheetApp.openByUrl(e.parameter.File);
  var sheet = ss.getSheetByName(e.parameter.Sheet);

  ActionsFichier(e,sheet);

}
 
 
function ActionsFichier(e,sheet) {
  
  
  //lock sheet to prevent concurrent changes  
  var lock = LockService.getPublicLock();
  lock.waitLock(5000);  
  
  
 //DELETE STOCK SINGLE RECORD

   if (e.parameter.func == "Delete") {
     var record = e.parameter.id;
     var ss = SpreadsheetApp.getActive();
     var sh = ss.getSheets()[0];
     sh.deleteRow(parseInt(record) + 1);  

    return ContentService.createTextOutput("Success");  
   } 
  
   //DELETE SHOP SINGLE RECORD

   if (e.parameter.func == "Delete_Shops") {
     var record = e.parameter.id;
     var ss = SpreadsheetApp.getActive();
     var sh = ss.getSheets()[0];
     sh.deleteRow(parseInt(record) + 1);  

    return ContentService.createTextOutput("Success");  
   } 
  
  // Add 
  if (e.parameter.Action=="Add") {
    var qrcode = e.parameter.Qrcode ;
    var item = e.parameter.Item ;
    var box = e.parameter.Box ;
    var inbox = e.parameter.Inbox ;
    var outbox = e.parameter.Outbox ;
    var oprice = e.parameter.Oprice ;
    var sprice = e.parameter.Sprice ;
    var category = e.parameter.Category ;
    
    sheet.appendRow([qrcode,item,box,inbox,outbox,oprice,sprice,category]);
    
   return ContentService.createTextOutput("Success");
  
}
  
  // Add SHOP
  if (e.parameter.Action=="Add_Shops") {
    var shopname = e.parameter.Shopname ;
    var shopphone = e.parameter.Shopphone ;
    
    sheet.appendRow([shopname,shopphone]);
    
   return ContentService.createTextOutput("Success");
  
}
   //EDIT SHOP SINGLE RECORD
    else if (e.parameter.func == "Update_Shops") { 
     var ss = SpreadsheetApp.getActive();
     var sh = ss.getSheets()[0];
     var data = [ [ e.parameter.Shopname, e.parameter.Shopphone]]; 
     sh.getRange("A"+(parseInt(e.parameter.id)+1)+":B"+(parseInt(e.parameter.id)+1)).setValues(data); 
     return ContentService.createTextOutput("Sucesso");
   }
  
  //EDIT STOCK SINGLE RECORD
    else if (e.parameter.func == "Update") { 
     var ss = SpreadsheetApp.getActive();
     var sh = ss.getSheets()[0];
     var data = [ [ e.parameter.Qrcode, e.parameter.Item, e.parameter.Box, e.parameter.Inbox, e.parameter.Outbox, e.parameter.Oprice, e.parameter.Sprice, e.parameter.Category]]; 
     sh.getRange("A"+(parseInt(e.parameter.id)+1)+":H"+(parseInt(e.parameter.id)+1)).setValues(data); 
     return ContentService.createTextOutput("Sucesso");
   }
  
  
  lock.releaseLock();
}

Your problem looks like it is in your script:

//EDIT SHOP SINGLE RECORD
    else if (e.parameter.func == "Update_Shops") { 
     var ss = SpreadsheetApp.getActive();
     var sh = ss.getSheets()[0];
     var data = [ [ e.parameter.Shopname, e.parameter.Shopphone]]; 
     sh.getRange("A"+(parseInt(e.parameter.id)+1)+":B"+(parseInt(e.parameter.id)+1)).setValues(data); 
     return ContentService.createTextOutput("Sucesso");
   }

Although you initially correctly set the spreadsheet and sheet name parameters in the doPost(e):

function doPost(e) { 
  var ss = SpreadsheetApp.openByUrl(e.parameter.File);
  var sheet = ss.getSheetByName(e.parameter.Sheet);

You then change these to the active spreadsheet and first sheet in your list of sheets

 var ss = SpreadsheetApp.getActive();
 var sh = ss.getSheets()[0];

Remove these two lines from your script, republish to a new version, and try again.

2 Likes
//EDIT SHOP
   if (e.parameter.func == "Edit_Shops") { 
     var data = [ [ e.parameter.Shopname, e.parameter.Shopphone]]; 
     sh.getRange("A"+(parseInt(e.parameter.id)+1)+":B"+(parseInt(e.parameter.id)+1)).setValues(data); 
     return ContentService.createTextOutput("Sucesso");
   }

Still Not editing into SHOP sheet ;(

Show your relevant blocks

I got My Mistake
NOW it's working

And your mistake was ?

TIMAI2 Thank you so much!

forgot to to change sh-->sheet from script

1 Like