2015-04-11 2 views
1

У меня есть таблица XML SAPUI5 с кнопкой удаления, встроенной в каждую строку. Таблица связана с JSON ..Как удалить строку в таблице SAPUI5 с кнопкой удаления, встроенной в строку

<Table id="idUploadTable" mode="None" delete="handleDeleteListItem" width="100%" 
items="{uiFormModel>/attachmentList}"> 

    <columns> 
     <Column id="idFileNameCol" vAlign="Middle"> 
      <header> 
       <Label text="File Name" /> 
      </header> 
     </Column> 
     <Column id="idUploadedOByCol" hAlign="Left" vAlign="Middle"> 
      <header> 
       <Label text="Uploaded By" /> 
      </header> 
     </Column> 
     <Column id="idUploadedOnCol" hAlign="Left" vAlign="Middle"> 
      <header> 
       <Label text="Uploaded On" /> 
      </header> 
     </Column> 
     <Column id="idUploadedDelCol" hAlign="Left" vAlign="Middle"> 
      <header> 
       <Label text="" /> 
      </header> 
     </Column>       
    </columns> 
    <items> 
     <ColumnListItem> 
      <cells> 
       <Link text="{uiFormModel>fileName}" href="{uiFormModel>fileLocation}" target="blank"/> 
       <Text text="{uiFormModel>uploadedByUserName}" /> 
       <Text text="{uiFormModel>uploadedOn}" /> 
       <Button icon="sap-icon://delete" press="handleDeleteAttachment"> 
        <customData> 
         <core:CustomData key="multi" value="true" /> 
        </customData> 
       </Button>         
      </cells> 
     </ColumnListItem> 
    </items> 
</Table> 

Таблица привязана к модели JSON я в состоянии загрузить данные из приведенных выше JSON к столу. Что я хочу, когда пользователь нажимает кнопку удаления, встроенную в строку, эту конкретную строку нужно удалить. Table selection mode has to be None. Как я могу достичь этого с помощью вышеупомянутого кода в качестве базовой линии?

Заранее спасибо .. Faddy

+0

Возможного дубликату [Как удалить строки из таблицы] (https://stackoverflow.com/q/48521618/5846045) – boghyon

ответ

1

На обработчике кнопки мыши, вы должны получить «путь привязки». Это путь в модели от корня до данных экземпляра. С этим вы можете получить его значение, затем перейдите к своей модели, выберите соответствующий экземпляр и удалите его. Таблица обновляется автоматически. Связывание часть пути что-то вдоль линий:

new sap.ui.commons.Button({ /* ... */ 
    press: function(e){ 
    var sPath = e.getSource().getBindingContext('uiFormModel').getPath(); 
    var oModel = sap.ui.getCore().getModel('uiFormModel'); 
    var oRowData = oModel.getProperty(sPath); 
    } 
} 

Надеется, что это помогает

+1

и удаление с помощью Javascript splice-method (сплайсинг индекса строки .splice (i, 1), а затем повторная привязка json-модели к вашей таблице) – zyrex

Смежные вопросы