Kolom

Kolom memungkinkan Anda mengategorikan data dalam model. Misalnya, model Employee mungkin memiliki kolom FirstName untuk menyimpan nama depan orang.

Kolom adalah kolom dalam tabel. Record adalah baris. Data dimasukkan dalam kolom di setiap record. Misalnya, dalam record keempat, kolom FirstName mungkin berisi Bob.

Anda dapat memasukkan data ke kolom dengan skrip server, skrip klien, dan binding.

Input dari skrip harus sesuai dengan jenis kolom. Anda dapat memastikan jenis data yang benar dalam skrip, atau menggunakan transformator binding dalam ekspresi binding untuk mengonversi data ke jenis data yang benar. Jika memungkinkan, App Maker secara otomatis mengonversi input dari UI aplikasi ke jenis yang sesuai.

Membuat kolom

Saat membuat kolom, Anda dapat menetapkan jenis yang menentukan jenis data kolom tersebut. Misalnya, kolom String berisi string karakter seperti nama atau alamat email, sedangkan kolom Number berisi angka.

Anda dapat membuat:

  • Kolom sederhana—Kolom sederhana hanya dapat berisi maksimal satu nilai. Sebagian besar kolom dalam aplikasi Anda mungkin merupakan kolom sederhana. Setiap kolom dalam setiap record berisi nilai kosong (null) atau nilai tunggal. Misalnya, kolom JobTitle dalam record tertentu mungkin berisi:

    Software Engineer

    Anda dapat mengurutkan record berdasarkan data dalam kolom sederhana. Label yang digunakan sebagai judul kolom di widget Tabel sebelumnya telah menentukan tindakan onClick yang mengurutkan tabel; sebagai contoh:

    window._am.sortTableBy(widget.datasource,
        widget.datasource.model.fields.LastName,
        widget, window._am.TableState);
  • Kolom daftar—Kolom daftar dapat berisi lebih dari satu nilai. App Maker menyimpan nilai dalam kolom daftar sebagai array.

    Setiap kolom daftar di setiap record berisi nilai kosong (array kosong, [], bukan null), nilai tunggal, atau beberapa nilai. Misalnya, kolom Measurements dalam record tertentu mungkin berisi:

    [0.312,1.245,1.434,1.789, 42]

    Anda tidak dapat mengurutkan record berdasarkan data dalam kolom daftar.

Jenis data untuk kolom sederhana

Jenis Deskripsi Contoh
String String karakter Unicode Kolom: FirstName

Isi: Susan

Number Bilangan floating point 64 bit Kolom: EmployeeID

Isi: 13465

Boolean true atau false Kolom: IsActive

Isi: true

Date Objek tanggal Kolom: HireDate

Isi: 2015-09-28

Jenis data untuk kolom daftar

Jenis Deskripsi Contoh
List<String> Daftar string Kolom: FoodAllergies

Array: ["pecans","walnuts","shrimp"]

List<Number> Daftar angka Kolom: MRITesla

Array: [1.2,1.5,3,7]

List<Boolean> Daftar nilai Boolean Kolom: Answers

Array: [true,false,false,true]

List<Date> Daftar tanggal Kolom: ReviewDate

Array: [2014-07-12,2015-07-15]

Menetapkan properti kolom

Anda dapat menetapkan properti kolom di tab Kolom dari setiap model.

Nama Deskripsi
Type Jenis data yang disimpan oleh kolom Anda—String, Number, Boolean, atau Date untuk kolom sederhana; atau List<String>, List<Number>, List<Boolean>, atau List<Date> untuk kolom daftar. Jenis kolom tidak dapat diedit. Untuk mengubah jenis kolom, hapus dan buat ulang kolom tersebut.
Name Label unik yang digunakan untuk mengakses kolom. Label ini hanya dapat berisi karakter alfanumerik dan garis bawah serta harus diawali dengan huruf.
SQL Type (Khusus Google Cloud SQL) Jenis SQL yang mendasarinya digunakan untuk menyimpan data kolom.
Display Name Nama yang lebih mudah dibaca manusia untuk kolom Anda. Nama ini tidak harus unik, serta dapat berisi spasi dan karakter khusus.
Description Tempat untuk menjelaskan kolom; hanya digunakan untuk referensi.
Use a Default Value Jika dipilih, Anda dapat menentukan nilai default yang akan digunakan saat aplikasi membuat record.

Menggunakan nilai default

Secara default, App Maker menggunakan null sebagai nilai default untuk semua kolom sederhana kecuali Boolean, yang nilai defaultnya adalah false. Untuk kolom daftar, App Maker menggunakan array kosong sebagai nilai default.

Dengan memberi centang pada bagian Use a Default Value, Anda dapat menetapkan nilai default Anda sendiri. Menetapkan nilai default dapat berguna untuk kolom yang diperlukan, yang tidak menerima null, dan untuk kolom mana pun yang memiliki status default alami. Misalnya, model Employee dengan kolom Status dapat bernilai default Active, karena setiap record baru mungkin mewakili karyawan baru yang aktif.

App Maker menggunakan nilai default sebagai nilai awal dalam kasus berikut:

  • Draf record sumber data
  • Record yang dibuat dalam sumber data yang menggunakan mode penyimpanan manual
  • Record yang dibuat di server menggunakan newRecord()
  • Record yang diimpor dari spreadsheet Google atau file CSV yang nilai kolomnya tidak ditentukan

Memvalidasi data

Gunakan batasan validasi data untuk kolom agar dapat membatasi data yang diterima kolom. Misalnya, Anda dapat memastikan bahwa kolom ZipCode memiliki nilai 5 digit atau kolom Name memiliki panjang minimal dua karakter. Batasan yang tersedia bervariasi berdasarkan jenis kolom.

Untuk daftar kolom, jika ada kriteria validasi yang ditetapkan, semua item dalam daftar harus memenuhi kriteria validasi. Misalnya, 2,3,5,3.235 membuat validasi Bilangan Bulat gagal karena 3.235 bukan bilangan bulat.

Nama Jenis Deskripsi
Required Semua Jika dipilih, record tidak akan disimpan ketika kolom bernilai null, belum ditentukan, atau array dengan elemen null (untuk kolom daftar).
Minimum Length and Maximum Length String Panjang karakter minimum dan maksimum untuk kolom.
Possible Values String, Angka, Tanggal Daftar yang menentukan input mana yang diterima kolom.
Regular Expression String Set kondisi yang harus dipenuhi string untuk record yang berisi kolom dengan nilai ini agar disimpan.

Pelajari ekspresi reguler lebih lanjut.

Regular Expression Error Message String Pesan error yang ditampilkan aplikasi ketika input tidak cocok dengan ekspresi reguler yang ditentukan.
Minimum Value and Maximum Value Angka, Tanggal

Nilai minimum dan maksimum untuk kolom.

Nilai untuk tanggal selalu divalidasi terhadap UTC, meskipun widget dikonfigurasikan untuk menggunakan zona waktu browser.

Whole Number Angka Jika dipilih, record tidak akan disimpan jika angka kolom berisi tempat desimal yang signifikan. Angka 4., 4.0, 0., .0, dan 0.0 adalah bilangan bulat, seperti yang Anda harapkan. Meskipun angka 1.0000000000000001 bukan bilangan bulat, tetapi App Maker menganggapnya sebagai bilangan bulat, karena angka setelah titik desimal tidak signifikan.
SQLtype Tanggal

(Khusus model Cloud SQL.) Mengontrol cara App Maker menangani zona waktu:

  • TIMESTAMP—menyertakan zona waktu. App Maker mengonversi waktu ke dalam format PT (UTC−7 atau UTC−8) sebelum menulisnya ke database.
  • DATE dan DATETIME— tidak menyertakan informasi zona waktu. App Maker membaca dan menulis data sebagai PT (UTC−7 atau UTC−8).

Membuat record dengan kolom wajib diisi

App Maker menampilkan error ketika Anda mencoba membuat record dengan kolom wajib diisi berupa null, belum ditentukan, atau array dengan elemen null untuk kolom daftar. Berikut ini beberapa hal yang dapat Anda lakukan untuk menghindari error tersebut:

  • Tetapkan nilai default—Solusi paling mudah; nilai default menjamin bahwa kolom memiliki nilai pada saat pembuatan untuk menghindari error validasi.
  • (Sisi server) Gunakan draf record—Metode newRecord() memungkinkan Anda menetapkan kolom wajib diisi sebelum menyimpan record ke model Anda.
  • (Sisi klien) Gunakan draf record—Sumber data mode penyimpanan otomatis memiliki record draft yang mana skrip dan binding data dapat memasukkan nilai sebelum membuat record.
  • (Sisi Klien) Gunakan sumber data mode penyimpanan manual—Dalam mode penyimpanan manual, pengguna atau skrip dapat mengisi kolom wajib diisi sebelum menyimpan record untuk menghindari error validasi.

Memasukkan dan menghapus data dari kolom daftar

Anda dapat memasukkan dan menghapus data dari kolom daftar dengan cara berikut:

  • Gunakan skrip server atau klien—Skrip dapat membaca dan menulis item dalam array kolom daftar.
  • Gunakan widgetWidget dan ekspresi binding tertentu dapat berfungsi dengan kolom daftar.
  • Gunakan impor dan ekspor—App Maker dapat mengimpor dan mengekspor record yang berisi kolom daftar.

Sintaks untuk koma dan tanda kutip

Di UI aplikasi dan dalam spreadsheet Google yang ditujukan untuk operasi impor atau yang dihasilkan dari operasi ekspor, konten kolom daftar adalah daftar yang dipisahkan koma; sebagai contoh:

capable truck,magnificent truck,best truck

Item dalam kolom daftar string dapat berisi koma. Untuk membedakan koma isi dari koma pemisah, sintaks khusus digunakan untuk UI dan sintaks khusus yang berbeda digunakan untuk operasi impor dan ekspor. Untuk operasi impor dan ekspor, sintaks khusus juga digunakan untuk tanda kutip ganda.

Aspek Sintaks UI Sintaks impor dan ekspor
Koma dalam isi Gunakan \, (garis miring terbalik koma) Memberi tanda kutip ganda pada item daftar
Tanda kutip ganda dalam isi Tidak ada sintaks khusus Memberi tanda kutip ganda pada daftar item dan membuat tanda kutip ganda dalam isi (" menjadi "").

Tidak diperlukan sintaks khusus untuk tanda kutip tunggal. Jika item berisi koma dan satu atau beberapa tanda kutip ganda, beri hanya satu set tanda kutip ganda pada item.

Spasi di awal atau akhir suatu item akan dihapus saat data disimpan.

Contoh
Sintaks UI Sintaks impor dan ekspor
horse,dog,cat horse,dog,cat
horse,dog\,cat horse,"dog,cat"
horse,a "beautiful" dog,cat horse,"a ""beautiful"" dog",cat
horse,a "beautiful\, strange\," exotic dog, cat horse,"a ""beautiful, strange,"" exotic dog",cat