Heim Web-Frontend js-Tutorial Detaillierte Erläuterung der Inline-Bearbeitungsbeispiele von dataGrid in EasyUI

Detaillierte Erläuterung der Inline-Bearbeitungsbeispiele von dataGrid in EasyUI

Jan 06, 2018 am 11:00 AM
easyui 编辑

Dieser Artikel stellt hauptsächlich den Implementierungscode der Inline-Bearbeitung in EasyUI vor. Er ist sehr gut und hat Referenzwert. Ich hoffe, er kann jedem helfen.

Dieser js-Code wurde von jemand anderem geschrieben, daher ist er vielleicht nicht der Beste, aber ich persönlich denke, es wäre großartig, wenn er anderen helfen könnte, zuerst funktionale Probleme zu lösen. Ich habe es leicht modifiziert und in meinem eigenen Projekt verwendet. Ich werde es hier veröffentlichen, um es zu teilen. Das im Backend verwendete TinkPHP lässt sich relativ einfach auf Hinzufügungen, Löschungen und Änderungen überprüfen, daher werde ich es hier nicht veröffentlichen. Ich werde die Darstellungen der Rezeption nicht veröffentlichen, weil ich faul bin.


$(function () {
    var datagrid; //定义全局变量datagrid
    var editRow = undefined; //定义全局变量:当前编辑的行
    datagrid = TskupluAddPacket.datagrid({
        url: ThinkPHP['MODULE'] + '/Tskuplu/getPacketList', //请求的数据源
        iconCls: 'icon-save', //图标
        pagination: true, //显示分页
        pageSize: 15, //页大小
        pageList: [15, 30, 45, 60], //页大小下拉选项此项各value是pageSize的倍数
        fit: true, //datagrid自适应宽度
        fitColumn: false, //列自适应宽度
        striped: true, //行背景交换
        nowap: true, //列内容多时自动折至第二行
        border: false,
        idField: 'packetid', //主键
        sortName : 'packetid',                                  //排序字段
        sortOrder : 'desc',                  //排序方式
        columns: [[//显示的列
            {field: 'packetid', title: 'ID', width: 100, sortable: true, checkbox: true },
            { field: 'packunit', title: '包装单位', width: 100, sortable: true,
                editor: { type: 'validatebox', options: { required: true} }
            },
            { field: 'packqty', title: '包装细数', width: 100,
                editor: { type: 'validatebox', options: { required: true} }
            },
            { field: 'packspec', title: '包装规格', width: 100,
                editor: { type: 'validatebox', options: { required: true} }
            }
        ]],
        queryParams: { 
          pluid: $('#addpluid').val()
        }, //查询参数
        toolbar: [{ text: '添加', iconCls: 'icon-add', handler: function () {//添加列表的操作按钮添加,修改,删除等
            //添加时如果没有正在编辑的行,则在datagrid的第一行插入一行
            if (editRow == undefined) {                     
                datagrid.datagrid("insertRow", {
                    index: 0, // index start with 0
                    row: {}
                });          
                //将新插入的那一行开户编辑状态
                datagrid.datagrid("beginEdit", 0);
                //给当前编辑的行赋值
                editRow = 0;
            }
        }
        }, '-',
        { text: '删除', iconCls: 'icon-remove', 
          handler: function () {
             //删除时先获取选择行
             var rows = datagrid.datagrid("getSelections");
             //选择要删除的行
             if (rows.length > 0) {
                $.messager.confirm("提示", "你确定要删除吗?", function (r) {
                  if (r) {
                    var ids = [];
                    for (var i = 0; i < rows.length; i++) {
                      ids.push(rows[i].packetid);
                    }
                    //将选择到的行存入数组并用,分隔转换成字符串,
                    //本例只是前台操作没有与数据库进行交互所以此处只是弹出要传入后台的id
                    //alert(ids.join(&#39;,&#39;));
                    $.ajax({
                      url : ThinkPHP[&#39;MODULE&#39;] + &#39;/Tskuplu/deletePacket&#39;,
                      type : &#39;POST&#39;,
                      data : {
                        ids : ids.join(&#39;,&#39;)
                      },
                      beforeSend : function (){
                        $.messager.progress({
                          text : &#39;正在处理中...&#39;
                        });  
                      },
                      success : function (data){
                        $.messager.progress(&#39;close&#39;);
                        if (data >0){
                          datagrid.datagrid(&#39;reload&#39;);
                          $.messager.show({
                            title : &#39;操作提醒&#39;,
                            msg  : data + &#39;条数据被成功删除!&#39;
                          })
                        } else if( data == -999 ) {
                          $.messager.alert(&#39;删除失败&#39;, &#39;对不起,您没有权限!&#39;, &#39;warning&#39;);
                        } else {
                          $.messager.alert(&#39;删除失败&#39;, &#39;没有删除任何数据!&#39;, &#39;warning&#39;);
                        }
                      }
                    });                  
                  }
                });
             } else {
                $.messager.alert("提示", "请选择要删除的行", "error");
             } 
          }
        }, &#39;-&#39;,
        { text: &#39;修改&#39;, iconCls: &#39;icon-edit&#39;, 
          handler: function () {
            //修改时要获取选择到的行
            var rows = datagrid.datagrid("getSelections");
            //如果只选择了一行则可以进行修改,否则不操作
            if (rows.length == 1) {
              //当无编辑行时
              if (editRow == undefined) {
                //获取到当前选择行的下标
                var index = datagrid.datagrid("getRowIndex", rows[0]);
                //开启编辑
                datagrid.datagrid("beginEdit", index);
                //把当前开启编辑的行赋值给全局变量editRow
                editRow = index;
                //当开启了当前选择行的编辑状态之后,
                //应该取消当前列表的所有选择行,要不然双击之后无法再选择其他行进行编辑
                datagrid.datagrid("unselectAll");
              }
            }
          }
        }, &#39;-&#39;,
        { text: &#39;保存&#39;, iconCls: &#39;icon-save&#39;, 
          handler: function () {
             //保存时结束当前编辑的行,自动触发onAfterEdit事件如果要与后台交互可将数据通过Ajax提交后台
             datagrid.datagrid("endEdit", editRow); 
             editRow = undefined;
          }
        }, &#39;-&#39;,
        { text: &#39;取消编辑&#39;, iconCls: &#39;icon-redo&#39;, 
          handler: function () {
             //取消当前编辑行把当前编辑行罢undefined回滚改变的数据,取消选择的行
             editRow = undefined;
             datagrid.datagrid("rejectChanges");
             datagrid.datagrid("unselectAll");
          }
        }, &#39;-&#39;],
        onAfterEdit: function (rowIndex, rowData, changes) {
          //endEdit该方法触发此事件           
          //var row = datagrid.datagrid("getData").rows[rowIndex]; //获取某一行的值 
          var inserted = datagrid.datagrid(&#39;getChanges&#39;,&#39;inserted&#39;);
          var updated = datagrid.datagrid(&#39;getChanges&#39;,&#39;updated&#39;);
          if(inserted.length < 1 && updated.length <1){
            editRow = undefined;
            datagrid.datagrid(&#39;unselectAll&#39;);
            return;
          }
          var url = &#39;&#39;;
          if(inserted.length>0){
            url=ThinkPHP[&#39;MODULE&#39;] + &#39;/Tskuplu/addPacket&#39;;
          }
          if(updated.length>0){
            url=ThinkPHP[&#39;MODULE&#39;] + &#39;/Tskuplu/updatePacket&#39;;
          }
          $.ajax({
            url : url,
            type : &#39;POST&#39;,
            data : {
              &#39;pluid&#39;: $(&#39;#addpluid&#39;).val(),
              &#39;packetid&#39;:rowData.packetid,
              &#39;packunit&#39;:rowData.packunit,
              &#39;packqty&#39; :rowData.packqty,
              &#39;packspec&#39;:rowData.packspec
            },
            beforeSend : function (){
              $.messager.progress({
                text : &#39;正在处理中...&#39;
              })
            },
            success : function (data){
              $.messager.progress(&#39;close&#39;);
              if (data > 0){ 
                datagrid.datagrid("acceptChanges"); 
                $.messager.show({
                  title : &#39;操作提示&#39;,
                  msg : &#39;添加成功&#39;
                });      
                editRow = undefined;
                datagrid.datagrid("reload"); 
                $(&#39;#addcheck&#39;).val(1);
              } else if (data == -999) {
                $.messager.alert(&#39;添加失败&#39;, &#39;抱歉!您没有权限!&#39;, &#39;warning&#39;);
              } else {
                datagrid.datagrid("beginEdit",editRow); 
                $.messager.alert(&#39;警告操作&#39;, &#39;未知错误!请重新刷新后提交!&#39;, &#39;warning&#39;);
              }
              datagrid.datagrid("unselectAll"); 
            }
          });
          //////////////////                         
        },
        onDblClickRow: function (rowIndex, rowData) {
        //双击开启编辑行
          if (editRow == undefined) {
              datagrid.datagrid("beginEdit", rowIndex);
              editRow = rowIndex;
          }
        }
    });   
  });
Nach dem Login kopieren

Verwandte Empfehlungen:

Detaillierte Erklärung der benutzerdefinierten Schaltflächenspalte von Easyui Datagrid

Beispiel Detaillierte Erläuterung des DataGrid von EasyUI, das Bedienschaltflächen für jede Datenzeile hinzufügt

Detaillierte Erläuterung des Datagrid im EasyUi-Steuerelement

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Inline-Bearbeitungsbeispiele von dataGrid in EasyUI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie bearbeite ich Dokumente in Tencent Docs? -Tencent Document Editing Document Tutorial Guide Wie bearbeite ich Dokumente in Tencent Docs? -Tencent Document Editing Document Tutorial Guide Mar 19, 2024 am 08:19 AM

Weiß jemand, wie man Dokumente in Tencent Docs bearbeitet? Wenn Sie es nicht wissen, wird der Herausgeber Ihnen heute ausführliche grafische Erklärungen zum Bearbeiten von Dokumenten in Tencent Docs geben. Detaillierte grafische Erläuterung der Bearbeitung von Dokumenten in Tencent Documents 1. Geben Sie zunächst direkt Tencent Documents ein (wenn Sie es nicht haben, laden Sie es jetzt herunter!) und melden Sie sich direkt an (zwei Anmeldemethoden für QQ und TIM werden unterstützt). 2. Nach der Anmeldung , klicken Sie oben rechts auf „Hinzufügen“ Nr., erstellen Sie direkt Online-Dokumente, Online-Formulare, neue Ordner usw. 3. Geben Sie dann die Informationen entsprechend Ihren Anforderungen ein!

So stellen Sie die gelöschte Hosts-Datei wieder her So stellen Sie die gelöschte Hosts-Datei wieder her Feb 22, 2024 pm 10:48 PM

Titel: So stellen Sie die Hosts-Datei nach dem Löschen wieder her. Zusammenfassung: Die Hosts-Datei ist eine sehr wichtige Datei im Betriebssystem und wird zum Zuordnen von Domänennamen zu IP-Adressen verwendet. Wenn Sie die Hosts-Datei versehentlich löschen, können Sie möglicherweise nicht auf bestimmte Websites zugreifen oder es treten andere Netzwerkprobleme auf. In diesem Artikel erfahren Sie, wie Sie versehentlich gelöschte Hosts-Dateien in Windows- und Mac-Betriebssystemen wiederherstellen. Text: 1. Hosts-Datei im Windows-Betriebssystem wiederherstellen

So bearbeiten Sie Startbildschirmseiten auf dem iPhone So bearbeiten Sie Startbildschirmseiten auf dem iPhone Feb 14, 2024 pm 02:00 PM

Mit Apple können Sie Ihren Startbildschirm schnell ändern, indem Sie die Seiten Ihres Startbildschirms jederzeit neu anordnen und nach Belieben löschen. Auf diese Weise können Sie problemlos mehrere Apps und Widgets ausblenden, ohne sie einzeln ziehen und löschen zu müssen. In diesem Artikel erklären wir, wie Sie Seiten auf Ihrem iPhone-Startbildschirm bearbeiten. CONTENTS[SHOW] Zeigt, wie die Seiten des Startbildschirms auf dem iPhone bearbeitet werden. Sie können den Startbildschirm bearbeiten, um Seiten neu anzuordnen, bestimmte Seiten im Startbildschirm ein-/ausblenden und Seiten vollständig löschen. Um mit der Bearbeitung Ihres iPhone-Startbildschirms zu beginnen, halten Sie einen leeren Bereich auf Ihrem Startbildschirm gedrückt. Wenn Ihr Startbildschirm in den Jitter-Modus wechselt, tippen Sie auf die Punktreihe am unteren Bildschirmrand. Jetzt sollten alle Ihre Startbildschirme in einem Rasterformat angezeigt werden. Option 1: Auf dem Startbildschirm

Was tun, wenn das Word-Dokument nicht bearbeitet werden kann? Was tun, wenn das Word-Dokument nicht bearbeitet werden kann? Mar 19, 2024 pm 09:37 PM

Nachdem wir das Dokument bearbeitet haben, speichern wir es, um es beim nächsten Mal einfacher bearbeiten und ändern zu können. Manchmal können wir es direkt ändern, nachdem wir auf das bearbeitete Dokument geklickt haben, aber manchmal erfolgt aus einem unbekannten Grund keine Reaktion, egal wie wir Klicken Sie auf das Word-Dokument und der Befehl wird nicht ausgeführt. Was soll ich tun, wenn das Word-Dokument nicht bearbeitet werden kann? Machen Sie sich keine Sorgen, der Editor hilft Ihnen bei der Lösung dieses Problems. Schauen wir uns den Vorgang an. Nach dem Öffnen des Word-Dokuments wird beim Bearbeiten von Text auf der rechten Seite der Seite die Aufforderung „Bearbeitung einschränken“ angezeigt, wie in der Abbildung unten dargestellt. 2. Sie müssen die Bearbeitung abbrechen und das festgelegte Passwort kennen. Klicken Sie unter der Popup-Eingabeaufforderung auf „Schutz beenden“, wie in der Abbildung unten gezeigt. 3. Geben Sie dann das Passwort in das Dialogfeld „Dokumentschutz aufheben“ ein und klicken Sie auf „OK“, wie in der Abbildung unten gezeigt.

Die spezielle Methode zum Bearbeiten vertikaler Untertitel in Edius Die spezielle Methode zum Bearbeiten vertikaler Untertitel in Edius Mar 28, 2024 pm 02:52 PM

1. Treffen Sie Vorbereitungen. Importieren Sie ein Material in die Materialbibliothek und ziehen Sie es auf die Timeline. 2. Klicken Sie auf die Schaltfläche [T] auf der Timeline-Spur, wählen Sie „Untertitel hinzufügen“ auf der 1T-Spur und Sie gelangen auf die Seite zum Bearbeiten der Untertitel. Der Vorgang ist wie im Bild dargestellt: 3. Hier können Sie den Textinhalt schreiben wollen. Es ist offensichtlich, dass die Untertitel horizontal geschrieben sind. Schauen wir uns nun an, wie man vertikale Untertitel implementiert. Schreiben Sie den Inhalt noch nicht, sondern wählen Sie [Einfügen – Text – Vertikal] aus, wie im Bild gezeigt: 4. Schreiben Sie nun die Wörter und sie werden vertikal angeordnet. Nachdem Sie Position, Größe, Schriftart, Farbe und andere Informationen der Untertitel angepasst haben, klicken Sie in der oberen linken Ecke des Fensters auf Speichern.

Ist easyui ein JQuery-Plugin? Ist easyui ein JQuery-Plugin? Jul 05, 2022 pm 06:08 PM

easyui ist ein JQuery-Plug-in. easyui ist ein auf JQuery basierendes Front-End-UI-Schnittstellen-Plug-in, das Webentwicklern dabei hilft, einfacher funktionsreiche und schöne UI-Schnittstellen zu erstellen. easyui ist ein Framework, das HTML5-Webseiten perfekt unterstützt und Entwicklern dabei helfen kann, Zeit und Umfang bei der Webentwicklung zu sparen.

So bearbeiten Sie Nachrichten auf dem iPhone So bearbeiten Sie Nachrichten auf dem iPhone Dec 18, 2023 pm 02:13 PM

Mit der nativen Nachrichten-App auf dem iPhone können Sie gesendete Texte ganz einfach bearbeiten. Auf diese Weise können Sie Ihre Fehler und Zeichensetzung korrigieren und sogar falsche Phrasen/Wörter, die möglicherweise in Ihren Text übernommen wurden, automatisch korrigieren. In diesem Artikel erfahren Sie, wie Sie Nachrichten auf dem iPhone bearbeiten. So bearbeiten Sie Nachrichten auf dem iPhone. Erforderlich: iPhone mit iOS16 oder höher. Sie können iMessage-Text nur in der Nachrichten-App bearbeiten, und zwar nur innerhalb von 15 Minuten nach dem Senden des Originaltexts. Nicht-iMessage-Text wird nicht unterstützt und kann daher nicht abgerufen oder bearbeitet werden. Starten Sie die Nachrichten-App auf Ihrem iPhone. Wählen Sie unter „Nachrichten“ die Konversation aus, deren Nachricht Sie bearbeiten möchten

Eingehende Analyse der chinesischen PyCharm-Einstellungen: Verbesserung der Codebearbeitungserfahrung Eingehende Analyse der chinesischen PyCharm-Einstellungen: Verbesserung der Codebearbeitungserfahrung Jan 27, 2024 am 10:30 AM

PyCharm ist eine leistungsstarke integrierte Python-Entwicklungsumgebung (IDE), die in der Python-Entwicklung weit verbreitet ist. Es bietet nicht nur umfangreiche Codebearbeitungsfunktionen, sondern verfügt auch über leistungsstarke Tools für intelligente Eingabeaufforderungen, Debugging, Versionsverwaltung usw. In PyCharm kann die chinesische Einstellung unsere Codebearbeitung reibungsloser und bequemer machen. In diesem Artikel werden die chinesischen Einstellungen in PyCharm ausführlich vorgestellt und einige spezifische Codebeispiele bereitgestellt. Installieren Sie zunächst das Sprachpaket in den Einstellungen von PyCharm

See all articles