作者:白狼 出处:http://www.manks.top/article/yii2_gridview_deleteall本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
今天仍然继续探讨GridView的问题,昨天有个小伙伴留言说你用gridview给我去掉表头的链接?我想啊想,这用gridview确实不容易实现,至少我没想出来,会的下方可留言。但是呢,这根gridview有个毛线关联啊,明明是要设置ActiveDataProvider,你要我怎么用gridview实现嘛。
这个问题也是很简单的,我们来看看具体实现
<span style="color: #800080;">$dataProvider</span> = <span style="color: #0000ff;">new</span><span style="color: #000000;"> ActiveDataProvider([ </span>'query' => <span style="color: #800080;">$query</span>,<span style="color: #000000;"> ]); </span><span style="color: #800080;">$dataProvider</span>->setSort(<span style="color: #0000ff;">false</span>);
分分钟搞定不是事。
好了,我们来谈谈主题:如何利用yii2 gridview实现批量删除?
我先说一下几个步骤啊,免得直接贴代码有的小伙伴删了一句去了一句最后失败了!
1、gridview设置options时增加一个id 这里我们命名grid
'options' =><span style="color: #000000;"> [ </span><span style="color: #008000;">//</span><span style="color: #008000;"> ...其他设置项</span> 'id' => 'grid'<span style="color: #000000;"> ]</span>,
2、columns增加选项复选框,批量删除必然不可少了复选框操作,这里我们的name值设定为id,方便对数据操作
<span style="color: #000000;">[ </span>'class' => 'yii\grid\CheckboxColumn', 'name' => 'id',<span style="color: #000000;"> ]</span>,
3、页面上我们增加一个批量删除按钮,注意这里我们增加了一个class gridview,方便后面js实现点击效果
= Html::a('批量删除', "javascript:void(0);", ['class' => 'btn btn-success gridview']) ?>
4、最后一步,写js实现按钮操作,打开你的console看看,我们很轻松的就拿到了选中的行的id,然后这里就可以异步操作数据了。
<span style="color: #000000;">php </span><span style="color: #800080;">$this</span>->registerJs('<span style="color: #000000;"> $(".gridview").on("click", function () { //注意这里的$("#grid"),要跟我们第一步设定的options id一致 var keys = $("#grid").yiiGridView("getSelectedRows"); console.log(keys); }); </span>'<span style="color: #000000;">); </span>?>
下面贴上完整代码
GridView::<span style="color: #000000;">widget([ </span><span style="color: #008000;">//</span><span style="color: #008000;"> ......</span> 'options' => ['class' => 'grid-view','style'=>'overflow:auto', 'id' => 'grid'], <span style="color: #008000;">//</span><span style="color: #008000;"> ......</span> 'columns' =><span style="color: #000000;"> [ </span><span style="color: #008000;">//</span><span style="color: #008000;"> ......</span> <span style="color: #000000;"> [ </span>'class' => 'yii\grid\CheckboxColumn', 'name' => 'id',<span style="color: #000000;"> ]</span>, <span style="color: #008000;">//</span><span style="color: #008000;"> ......</span> ],<span style="color: #000000;"> ]); </span><span style="color: #800080;">$this</span>->registerJs('<span style="color: #000000;"> $(".gridview").on("click", function () { var keys = $("#grid").yiiGridView("getSelectedRows"); console.log(keys); }); </span>');

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기
