Unggah file TXT dan tampilkan data dalam tabel responsif SAPUI5

Saya ingin membuat sap.m.Table di sapui5 yang datanya di baris akan diisi saat mengunggah file teks (.txt) yang berisi beberapa detail

Misalnya

Tes.txt

1[tab]ABC Q

2[tab]PQR

3[tab]XYZ

Di text.txt di atas,

1,2,3… adalah nomor pelanggan dan ABC,PQR… adalah detail pelanggan. Saya menulis logika untuk membaca data dari file test.txt saat diunggah (lihat contoh tautan jsbin di bawah) dan menetapkan data ke dalam array multidimensi seperti yang ditunjukkan pada gambar di bawah ini

http://jsbin.com/fenexuqule/edit?html,output

nilai array multidimensi saat diperiksa

Saat saya mengunggah file teks, saya ingin membuat tabel sap.m.secara dinamis di mana akan ada 2 kolom no pelanggan dan detail pelanggan dan datanya harus diisi ke baris masing-masing.

Lihat struktur tabel di bawah (Tabel yang Diharapkan)

----------------------------------
| customer no | customer details |
----------------------------------
|         1   | ABC Q            |
|         2   | PQR              |
|         3   | XYZ              |

Terima kasih sebelumnya.


person Prashob Thekkyal    schedule 23.11.2015    source sumber


Jawaban (1)


Apa yang akan saya lakukan...

Konversi CSV Anda ke JSON dan buat objek model

var aCSV = strCSV.split('\n'), row = {};

for (var i = 0; i < aCSV.length; ++i) {
     row = aCSV[i].split(';');
     aCSV[i] = { 
         "cusno": row[0], 
         "cusdetail" : row[1]
     }
}

var oModel = new sap.ui.model.json.JSONModel(aCSV);

Buat Tabel Anda

var oTable = new sap.m.Table({
    columns: [
        new sap.m.Column({
            header: new sap.m.Text({text: "Custom No"})
        }),
        new sap.m.Column({
            header: new sap.m.Text({text: "Customer Details"})
        })
    ]
});

oTable.placeAt("content");

Ikat data ke tabel Anda

oTable.setModel(oModel);

oTable.bindAggregation("items", {
    path: "/", //json is an array of rows
    factory: function(sId, oContext) { //this function is applied to each row
        var cusno = new sap.m.Text({text: oContext.getProperty("cusno")});
        var cusdet = new sap.m.Text({text: oContext.getProperty("cusdetail")});

        return new sap.m.ColumnListItem({
            cells:[cusno, cusdet]
        });
    }
});

Contoh lengkap: http://jsbin.com/tobifiqoto/2/edit?html,output

person Marc    schedule 23.11.2015
comment
Terima kasih untuk balasan Anda. Itu memecahkan masalah saya, saya ingin memberi Anda 10 suara Plus tetapi karena saya baru mengenal stack overflow dan reputasi saya kurang. - person Prashob Thekkyal; 23.11.2015
comment
@Prashob karena Anda masih baru, saya harap Anda tidak hanya menyalin dan menempelkan kode saya, tetapi juga mencoba memahami apa yang saya lakukan di sana. - person Marc; 23.11.2015