


Yii2 GridView implements the method of directly modifying data on the list page, yii2gridview_PHP tutorial
Yii2 GridView implements the method of directly modifying data on the list page. What does yii2gridview
mean? Let me briefly describe it. The requirements raised by the editor are as follows. Look, can I just click on the data on your list page to modify it directly? I will click in and modify it more. Trouble, it's so inconvenient. This damn thing, this need, do you really want to give her a blow?
ok, today we will take a look at how to use gridview to implement the function of direct modification on the list in Yii2. It is very comprehensive. We try our best to give examples for various types of attributes.
The first step is to deploy yii2-grid
Use composer to install yii2-grid
composer require kartik-v/yii2-grid "@dev"
If you need to output the token during the installation process, you need to log in to your github account at this time, obtain the token value through setting>personal access tokens, enter your token value, and press Enter.
After installation, we configure the module as follows, this is necessary
'modules' => [ 'gridview' => [ 'class' => '\kartik\grid\Module' ] ];
As we said before, you must first deploy yii2-grid. After downloading and configuring, we open the view file and modify your file by referring to the following code
// use yii\grid\GridView; //这里屏蔽掉yii的gridview,user我们刚刚安装的gridview use kartik\grid\GridView; <?= GridView::widget([ //...... 'export' => false, 'columns' => [ //...... ], ?>
In the above code, we only need to add 'export' => false, and your original gridview does not need to be changed.
Then we install yii2-editable
composer require kartik-v/yii2-editable "@dev"
After installation, we introduce editable
into the file where we just configured the gridviewuse kartik\editable\Editable;
First introduce the modification of textInput type, as shown below
You can easily see the editing effect from the picture above, just paste the code directly
[ 'attribute' => 'title', 'class'=>'kartik\grid\EditableColumn', ],
But as we can see from the picture above, pop-up modification is not very convenient. Let’s take a look at a more convenient operation method
[ 'attribute' => 'title', 'class'=>'kartik\grid\EditableColumn', 'editableOptions'=>[ 'asPopover' => false, ], ],
You only need to click on the attribute value you want to modify to modify it directly. Let’s see what problems this will cause
Perhaps you have discovered that the width of the edit box is too small and the operation is not very convenient. Would it be better if we change the input to textarea? Give it a try. Of course, you can also specify headerOptions to set the width of the current cell. For common gridview operations, please click for reference
Looking at the picture, the effect is indeed much better, just paste the code
[ 'attribute' => 'title', 'class'=>'kartik\grid\EditableColumn', 'editableOptions'=>[ 'asPopover' => false, 'inputType'=>\kartik\editable\Editable::INPUT_TEXTAREA, 'options' => [ 'rows' => 4, ], ], ],
Some students were very curious and clicked the two buttons in the picture. One is the reset button and the other is the apply button. Reset is okay and easy to understand, but why does it seem to keep clicking after clicking the apply button? What does "processing" mean? Don't worry, don't worry, from the beginning to now and even next, we will first explain the configuration in the view. In fact, after you click the apply button here, you will request the backend asynchronously. We will explain it in detail later.
What if your column is of numeric type? It’s easy, just modify it directly in the input, but if you want the effect in the screenshot below, you need to continue to use composer to install the touch spin widget
require kartik-v/yii2-widget-touchspin "@dev"
After the installation is complete, let’s take a look at how to modify the numeric attributes
The third type, regarding the drop-down box modification, we assume that the field is_delete value 1 displays 2 deleted and the value of the data inventory is a numeric type of 1 2. Look at the renderings and then we will paste the code
There are two attributes on the left and right sides. For comparison and explanation, the left side shows the attributes that cannot be modified. The code is as follows
[ 'attribute' => 'is_delete', 'class'=>'kartik\grid\EditableColumn', 'editableOptions'=>[ 'inputType'=>\kartik\editable\Editable::INPUT_DROPDOWN_LIST, 'asPopover' => false, 'data' => Article::itemAlias('is_delete'), ], 'value' => function ($model) { return Article::itemAlias('is_delete', $model->is_delete); }, 'filter' => Article::itemAlias('is_delete'), ],
Fourth, let’s explain the date component and time component. First take a screenshot to see the effect, and then install it
//日期组件 composer require kartik-v/yii2-widget-datepicker "@dev" //时间组件 composer require kartik-v/yii2-widget-datetimepicker "*" //日期组件 [ 'attribute' => 'created_at', //这个设定表格的宽度 // 'headerOptions' => ['width' => '150px'], 'class'=>'kartik\grid\EditableColumn', 'editableOptions'=>[ 'inputType'=>\kartik\editable\Editable::INPUT_DATE, 'asPopover' => false, //这个设定我们组件的宽度 'contentOptions' => ['style'=>'width:180px'], 'options' => [ 'pluginOptions' => [ //设定我们日期组件的格式 'format' => 'yyyy-mm-dd', ] ], ], 'format' => ['date', 'Y-m-d'], ], //时间组件 [ 'attribute' => 'updated_at', // 'headerOptions' => ['width' => '150px'], 'class'=>'kartik\grid\EditableColumn', 'editableOptions'=>[ 'inputType'=>\kartik\editable\Editable::INPUT_DATETIME, 'asPopover' => false, 'contentOptions' => ['style'=>'width:250px'], ], ],
Basically, these are the 4 types. After the view is configured, we need to configure the controller layer for asynchronous operation. Let’s see how it works.
Statement: If your gridview is within the view article/index, then you need to operate within the index of the article controller for the next operation.
use yii\helpers\Json; public function actionIndex() { $searchModel = new ArticleSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); if (Yii::$app->request->post('hasEditable')) { $id = Yii::$app->request->post('editableKey'); $model = Article::findOne(['id' => $id]); $out = Json::encode(['output'=>'', 'message'=>'']); $posted = current($_POST['Article']); $post = ['Article' => $posted]; if ($model->load($post)) { $model->save(); $output = ''; isset($posted['title']) && $output = $model->title; // 其他的这里就忽略了,大致可参考这个title } $out = Json::encode(['output'=>$output, 'message'=>'']); echo $out; return; } return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]); }
This is the introduction to the Yii2 GridView method of directly modifying data on the list page introduced by the editor. I hope it will be helpful to you. If you want to know more, please pay attention to the Bangkejia website.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



1. First open DingTalk. 2. Open the group chat and click the three dots in the upper right corner. 3. Find my nickname in this group. 4. Click to enter to modify and save.

DDREASE is a tool for recovering data from file or block devices such as hard drives, SSDs, RAM disks, CDs, DVDs and USB storage devices. It copies data from one block device to another, leaving corrupted data blocks behind and moving only good data blocks. ddreasue is a powerful recovery tool that is fully automated as it does not require any interference during recovery operations. Additionally, thanks to the ddasue map file, it can be stopped and resumed at any time. Other key features of DDREASE are as follows: It does not overwrite recovered data but fills the gaps in case of iterative recovery. However, it can be truncated if the tool is instructed to do so explicitly. Recover data from multiple files or blocks to a single

0.What does this article do? We propose DepthFM: a versatile and fast state-of-the-art generative monocular depth estimation model. In addition to traditional depth estimation tasks, DepthFM also demonstrates state-of-the-art capabilities in downstream tasks such as depth inpainting. DepthFM is efficient and can synthesize depth maps within a few inference steps. Let’s read about this work together ~ 1. Paper information title: DepthFM: FastMonocularDepthEstimationwithFlowMatching Author: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

The performance of JAX, promoted by Google, has surpassed that of Pytorch and TensorFlow in recent benchmark tests, ranking first in 7 indicators. And the test was not done on the TPU with the best JAX performance. Although among developers, Pytorch is still more popular than Tensorflow. But in the future, perhaps more large models will be trained and run based on the JAX platform. Models Recently, the Keras team benchmarked three backends (TensorFlow, JAX, PyTorch) with the native PyTorch implementation and Keras2 with TensorFlow. First, they select a set of mainstream

Douyin Blue V certification is the official certification of a company or brand on the Douyin platform, which helps enhance brand image and credibility. With the adjustment of corporate development strategy or the update of brand image, the company may want to change the name of Douyin Blue V certification. So, can Douyin Blue V change its name? The answer is yes. This article will introduce in detail the steps to modify the name of the enterprise Douyin Blue V account. 1. Can Douyin Blue V change its name? You can change the name of Douyin Blue V account. According to Douyin’s official regulations, corporate Blue V certified accounts can apply to change their account names after meeting certain conditions. Generally speaking, enterprises need to provide relevant supporting materials, such as business licenses, organization code certificates, etc., to prove the legality and necessity of changing the name. 2. What are the steps to modify the name of corporate Douyin Blue V account?

Facing lag, slow mobile data connection on iPhone? Typically, the strength of cellular internet on your phone depends on several factors such as region, cellular network type, roaming type, etc. There are some things you can do to get a faster, more reliable cellular Internet connection. Fix 1 – Force Restart iPhone Sometimes, force restarting your device just resets a lot of things, including the cellular connection. Step 1 – Just press the volume up key once and release. Next, press the Volume Down key and release it again. Step 2 – The next part of the process is to hold the button on the right side. Let the iPhone finish restarting. Enable cellular data and check network speed. Check again Fix 2 – Change data mode While 5G offers better network speeds, it works better when the signal is weaker

I cry to death. The world is madly building big models. The data on the Internet is not enough. It is not enough at all. The training model looks like "The Hunger Games", and AI researchers around the world are worrying about how to feed these data voracious eaters. This problem is particularly prominent in multi-modal tasks. At a time when nothing could be done, a start-up team from the Department of Renmin University of China used its own new model to become the first in China to make "model-generated data feed itself" a reality. Moreover, it is a two-pronged approach on the understanding side and the generation side. Both sides can generate high-quality, multi-modal new data and provide data feedback to the model itself. What is a model? Awaker 1.0, a large multi-modal model that just appeared on the Zhongguancun Forum. Who is the team? Sophon engine. Founded by Gao Yizhao, a doctoral student at Renmin University’s Hillhouse School of Artificial Intelligence.

Recently, the military circle has been overwhelmed by the news: US military fighter jets can now complete fully automatic air combat using AI. Yes, just recently, the US military’s AI fighter jet was made public for the first time and the mystery was unveiled. The full name of this fighter is the Variable Stability Simulator Test Aircraft (VISTA). It was personally flown by the Secretary of the US Air Force to simulate a one-on-one air battle. On May 2, U.S. Air Force Secretary Frank Kendall took off in an X-62AVISTA at Edwards Air Force Base. Note that during the one-hour flight, all flight actions were completed autonomously by AI! Kendall said - "For the past few decades, we have been thinking about the unlimited potential of autonomous air-to-air combat, but it has always seemed out of reach." However now,
