[Yii 2]Menggunakan SwitchInput dalam Gridview

Oktober 9, 2016

OK langsung aja, sesuai judul kita masukkan switchinput dalam grid ,sebelumnya install dulu nih swithcnya saya gunakan dari kartik ini linknya https://github.com/kartik-v/yii2-widget-switchinput terus instal lagi grid dari kartik 😀 https://github.com/kartik-v/yii2-grid , OK selesai tu

selanjutnya bikin generate deh pake Gii, langsung aja nih

+ View


use kartik\switchinput\SwitchInput;
use kartik\grid\GridView;

...

...

...

GridView::widget([

..

..

..

'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'attribute'=>'nilai',
'value'=> function ($model){

$var = -1;
$status = $model['ket'];
return SwitchInput::widget([
'name' => 'selected',
'value' => $model['nid'],
'tristate' => true,
'indeterminateValue' => -1,
'items' => SwitchInput::CHECKBOX ,
'pluginOptions' => [
'onText' => 'Lulus',
'offText' => 'Gagal',
]
]);

},
'format' => 'raw'
],

..

..

..

capture

naa selanjutnya bagaimana mengambil nilai dari switch itu, berikut sintaxnya,

tambahkan di dalam view (bisa di atasnya


$this->registerJs('

$(document).ready(function(){
$(\'#Button\').click(function(){
var selected = [];
$.each($("input[name=\'selected\']:checked"), function(){
selected.push($(this).val());
});
$.ajax({
type: \'POST\',
url : \'pilih\',
data : {row_id: selected},

});

});
});', \yii\web\View::POS_READY);

<input type="button" class="btn btn-info" value="Kirim" id="Button" >

selanjutnya untuk controller


$pk = Yii::$app->request->post('row_id');

foreach ($pk as $key => $value)
{
$sql = "update pegawai set ket='T' WHERE nid = $value";
$query = Yii::$app->db->createCommand($sql)->execute();
}
return $this->redirect(['pegawai']);

udah selesai begitu aja, selamat belajar, maaf nubi berbagi 😀 , mg sukses selalu kawan

 


Tips 1 Line di Detail Report Foxpro

Agustus 24, 2016

Bingung mau kasih judul apa 😀 pokonya liat aja deh maksud dan tujuannya hihi, berikut penjelasan singkatnya, Ok rencana mau bikin report dengan tampilan begini

x

dan pengennya itu didetail biar dinamis perihalnya bisa aja lebih 1 dan pasalnya juga bisa lebih 1, Ok ,kita desain aja reportnya, ups sebelumnya kita bikin contoh cursor dulu


CREATE CURSOR cData (cKet C(15),cPerihal C(15))

INSERT INTO cData values("Perihal","1. Alamat Saya")
INSERT INTO cData values("Perihal","2. Alamat Temana")
INSERT INTO cData values("Perihal","3. Alamat Siapa Saja")

INSERT INTO cData values("Pasal","1. Pasal 45 Ayat 1")
INSERT INTO cData values("Pasal","2. Pasal 30 Ayat 2")

SELECT cData
REPORT FORM 'report\report1' PREVIEW

naa desain reportnya begini

1

dan klik kanan pada field cKet pilih propertis, pilih print when

2

udah selesai dan hasilnya

2

naa bisa kan 😀

 

 


CheckBox di grid Dengan AllowCellSelection False

Februari 10, 2016

Sesuai Judul, AllowCellSelection kan artinya menyetujui cell/kolom untuk di select atau dipilih, naa klo kita masukkan object lain didalam grid seakan seperti readonly krn ga berfungsi, dan ini juga mempengaruhi tampilan grid saat dklik di dalam cell tidak berlatar putih kaya lebih cantik aja gitu he, naa bagaimana klo kita pengen object checkbox yang ada didalam grid berfungsi, gampang aja pada grid event click kasih aja kondisi begini


This.Column2.check1.Value = !This.column2.check1.Value
this.Refresh

udah beres gitu aja, silahkan dicoba aja 🙂


Membuat Pecarian Autocomplet sederhana dengan foxpro

Februari 6, 2016

Ok, ga ada lagi namanya hemat kouta, udah posisi aman , lagi ada tugas negara ke grogot kaltim sebulan 🙂 pisah deh ama istri :(,

langsung aja yaa dibuang sayang ni class ane bikin, simak aja, ane ada tabel begini


CREATE CURSOR mData (Kode C(3),Nama C(30), Tgl D)
INSERT INTO mData values('001','PC', DATE()+1)
INSERT INTO mData values('002','Desktop',DATE()+3)
INSERT INTO mData values('003','Dodi',DATE()+3)
INSERT INTO mData values('004','lan',DATE()+1)
INSERT INTO mData values('005','Wifi',DATE()+5)
INSERT INTO mData values('006','Modem',DATE()+10)
INSERT INTO mData values('007','laptop',DATE()+19)
INSERT INTO mData values('008','Android',DATE()+1)
INSERT INTO mData values('009','Symbian',DATE())
INSERT INTO mData values('010','iPhone',DATE())
INSERT INTO mData values('011','email',DATE()-13)
INSERT INTO mData values('012','Yahoo',DATE()-11)
INSERT INTO mData values('013','Google',DATE()+2)
INSERT INTO mData values('014','Gmap',DATE()+4)
INSERT INTO mData values('015','Facebook',DATE()-20)

kemudian saya tambahkan class pencariannya

Capture

didalam textbox pencarian (text_search adalah object class),di event lostfocus


lc=this.tag
SELECT mData
LOCATE FOR kode=lc
thisform.text1.Value=nama
thisform.text2.Value=tgl

adapun setting property dalam class tersebut adalah berikut

Capture

  1. Lebar Kolom List pencarian ,
  2. Sumber pencariannya dikolom mana saja dalam tabel,
  3. Warna belakang list pencarin
  4. Warna Huruf dalam list pencarian
  5. Field yang ingin di tampilkan dalam kolom list pencarian
  6. sumber data, berupa tabel/cursor
  7. jumlah kolom dalam list pencarian
  8. tinggi kolom
  9. lebar kolom
  10. kondisi menampilkan format hasil pencarian, jika .T. maka format yg ditampilkan sesuai yang dicustom pada no 12, jika .F. maka default akan menampilkan berupa keynya saja
  11. primarykey sumber data (no.6)
  12. berhubungan dengan no 10, jika .T. maka format custom ini yg ditampilkan

Ok saatnya dicontohkan dijalankan

Capture

kondisi oAktif=.F., dengan mengetik kan 2 huruf pertama akan tampil semua data di list pencarian, kita pilih boleh pake enter

Capture

Capture

naa jika kita ganti ke .T. maka hasilnya

Capture

sesuai dengan oTampil yg udah dicustom tadi

bukan hanya dengan mengetik/pencarian berdasarkan kode saja, kita kan sudah setting di cField yaitu kode+nama, artinya dengan nama pun bisa lakukan pencarian

Capture

ok bingung yaa he, nih ane kasih sourcenya

http://www.mediafire.com/download/7ych8yb9dng6aap/textsearch.rar

Ok moga sukses yaa mas bro dan rejekinya lancar

[Update]

ada bug saat object textbox search lebih dari satu dalam form saat pengaturan .nheigth dan .nwidth untuk lebar list data, jika salah satu diubah maka search yang lain ikut berubah,

[fix]

Untitled

dan ada yang diubah tampilannya

Capture

saat data cuma sedikit, scroll hilang, dan sytle saya ubah ke plain he

http://www.mediafire.com/download/v4k55z5d65td55a/toolobject.rar

 


[Android][Website] Build Website kedalam Apk Andorid menggunakan cordova

Desember 10, 2015

Gitu yaa judulnya hehe bingung Intinya ini sebenarnya website yang dimasukkan yg dibuild kedalam apk android, Ok langsung aja yaa biar paham maksudnya he

Pertama, buat website dengan Css mobile misal jquey mobile kah, banyak kq templatenya khusus jquey mobile 🙂 atau perlu pake pengecekan website ini khusus diakses via handphone aja 😀

Kedua, instal cordova ,syarat install cordova anda harus menginstal node.js terlebih dulu, bisa cek didownload di webnya

https://nodejs.org/en/

dan cordova ada disini

https://cordova.apache.org/docs/en/4.0.0/guide/cli/

Ketiga , buat project dengan cordova caranya

Capture

Capture

selanjutnya ini bagian pentingnya master instal plugin inappbrowser

Capture

Keempat, saya menggunakan Android Studio 2 (AS 2) untuk build ke apknya dan juga untuk sedikit modify index.html dan config.xml nantinya , naa hasil dari cordova harus di import dulu caranya baca disini

Kelima, buka AS 2, masuk kedalam assets\www\index.html

<!DOCTYPE html>
<html>
<head>

    <title>InAppBrowser.addEventListener Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);
    var iabRef = null;
function iabClose(event) {
         alert(event.type);
 navigator.app.exitApp();
    }
    // device APIs are available
    //
    function onDeviceReady() {
         var iabRef = window.open('http://facebook.com', '_blank', 'location=no');
               iabRef.addEventListener('exit', iabClose);
    }

    </script>
</head>
<body>
</body>
</html>

dan hasilnya

Capture

naa bagian terpenting dari sintax diatas adalah ini  window.open (…) naa disinilah bisa ganti url website anda 😀

Ok biasanya ada yg mengalami namanya timeout saat mau menampilkan website telalu lama lah, naa untuk mengatasi itu buka res/xml/config.xml

1

tambahkan

<preference name="loadUrlTimeoutValue" value="90000" />

Naa selanjutnya build ke APK, pilih menu build

1

1

untuk password yg saya garis itu saya kasih sama aja he biar ingat aja klo build ke Apk lagi

 

1

1

1

Ok finish, dan silahkan instal deh apknya di hape anda

OK beres dah hehe info lengkap

https://cordova.apache.org/docs/en/3.0.0/cordova/inappbrowser/inappbrowser.html

btw bisa dijadikan alternatif klo tidak bisa javascript 😀 , naa bagaimana klo saat mau mulai jalan tiba tiba koneksi putus, solusinya bisa tambahkan


<preference name="errorUrl" value="file:///android_asset/www/connection_error.html" />

bikin connection_error.html di folder www 🙂 beres deh, untuk icon/splashscreen gampang itu 😀