easyui datagrid 编辑行后如何保存

       $(function () {
           var datagrid; //定义全局变量datagrid
           var editRow = undefined; //定义全局变量:当前编辑的行
           datagrid = $("#dd").datagrid({
               url: 'UserCenter.aspx', //请求的数据源
               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: 'ID', //主键
               columns: [[//显示的列
               {field: 'ID', title: '编号', width: 100, sortable: true, checkbox: true },
                { field: 'UserName', title: '用户名', width: 100, sortable: true,
                    editor: { type: 'validatebox', options: { required: true} }
                },
                 { field: 'RealName', title: '性别', width: 100,
                 editor: {
                     type: 'combobox', options: {
                         data: [{ id: 0, text: '请选择' }, { id: 1, text: '男' }, { id: 2, text: '女' }],
                         valueField: 'id', textField: 'text',
                     }

                 }
                 },
                  { field: 'Email', title: '邮箱', width: 100,
                      editor: { type: 'validatebox', options: { required: true} }
                  }
               ]],
               queryParams: { action: 'query' }, //查询参数
               toolbar: [{ text: '添加', iconCls: 'icon-add', handler: function () {//添加列表的操作按钮添加,修改,删除等
                   //添加时先判断是否有开启编辑的行,如果有则把开户编辑的那行结束编辑
                   if (editRow != undefined) {
                       datagrid.datagrid("endEdit", editRow);
                   }
                   //添加时如果没有正在编辑的行,则在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].ID);
                                }
                                //将选择到的行存入数组并用,分隔转换成字符串,
                                //本例只是前台操作没有与数据库进行交互所以此处只是弹出要传入后台的id
                                alert(ids.join(','));
                            }
                        });
                    }
                    else {
                        $.messager.alert("提示", "请选择要删除的行", "error");
                    }
                }
                }, '-',
                { text: '修改', iconCls: 'icon-edit', handler: function () {
                    //修改时要获取选择到的行
                    var rows = datagrid.datagrid("getSelections");
                    //如果只选择了一行则可以进行修改,否则不操作
                    if (rows.length == 1) {
                        //修改之前先关闭已经开启的编辑行,当调用endEdit该方法时会触发onAfterEdit事件
                        if (editRow != undefined) {
                            datagrid.datagrid("endEdit", editRow);
                        }
                        //当无编辑行时
                        if (editRow == undefined) {
                            //获取到当前选择行的下标
                            var index = datagrid.datagrid("getRowIndex", rows[0]);
                            //开启编辑
                            datagrid.datagrid("beginEdit", index);
                            //把当前开启编辑的行赋值给全局变量editRow
                            editRow = index;
                            //当开启了当前选择行的编辑状态之后,
                            //应该取消当前列表的所有选择行,要不然双击之后无法再选择其他行进行编辑
                            datagrid.datagrid("unselectAll");
                        }
                    }
                }
                }, '-',
                { text: '保存', iconCls: 'icon-save', handler: function () {
                    //保存时结束当前编辑的行,自动触发onAfterEdit事件如果要与后台交互可将数据通过Ajax提交后台
                    datagrid.datagrid("endEdit", editRow);
                }
                }, '-',
                { text: '取消编辑', iconCls: 'icon-redo', handler: function () {
                    //取消当前编辑行把当前编辑行罢undefined回滚改变的数据,取消选择的行
                    editRow = undefined;
                    datagrid.datagrid("rejectChanges");
                    datagrid.datagrid("unselectAll");
                }
                }, '-'],
               onAfterEdit: function (rowIndex, rowData, changes) {
                   //endEdit该方法触发此事件,保存代码是否这里写???
                                        //还需要判断combobox是否选中性别,而不是默认值
                   console.info(rowData);
                   editRow = undefined;
               },
               onDblClickRow: function (rowIndex, rowData) {
                   //双击开启编辑行
                   if (editRow != undefined) {
                       datagrid.datagrid("endEdit", editRow);
                   }
                   if (editRow == undefined) {
                       datagrid.datagrid("beginEdit", rowIndex);
                       editRow = rowIndex;
                   }
               }
           });
       });
</script>

1、怎么提交保存?
2、怎么在保存提交的时候判断combobox选中的不是“请选择”

6个回答

getEditors获取所有编辑器数组,调用getValue得到值如果是0就提示要选择

 { text: '保存', iconCls: 'icon-save', handler: function () {
                 var ets = $('#dd').datagrid('getEditors');
                 //注意编辑器所在下标
                 if ($(ets[1].target).combobox('getValue').toString() == '0') { alert('请选择性别!');return}
                 datagrid.datagrid("endEdit", editRow);
             }

保存时用ajax发送请求发送数据到你的动态页就好了,jquery会自动降rowData转为键值对字符串,服务器端request对象获取即可


            onAfterEdit: function (rowIndex, rowData, changes) {
                console.info(rowData);
                $.ajax({
                    url: 'xxxxxx', data: rowData, type: 'POST', complete: function (xhr) {
                        alert(xhr.responseText)
                    }
                });
                editRow = undefined;
            },
showbo
支付宝加好友偷能量挖 回复snaif_lx: 你不是console.info(rowData);输出数据了?f12调出开发工具,在控制台就可以看到了。或者使用alert(JSON.stringify(rowData))也行,但是注意JSON需要IE8+以上才支持或者使用非IE核心浏览器,如chrome
4 年多之前 回复
snaif_lx
snaif_lx 版主,我想alert出rowData各个字段的内容看下输入值的情况怎么操作呢?
4 年多之前 回复

确实在onAfterEdit里面做,在这里面拿到数据然后ajax提交到后台保存。

combobox的值通过editor对象的getValue来获取,注意要指定列

onAfterEdit事件,做post提交 // return;
$("#fm").form("submit",{
url:that.saddOrUpadteUlr,
onSubmit:function(){
var isValid = $(this).form('validate');
if (!isValid){
$.messager.progress('close'); // 如果表单是无效的则隐藏进度条
}
return isValid; // 返回false终止表单提交

            },
            success:function(result){
                $.messager.progress('close');   // 如果提交成功则隐藏进度条
                result = $.parseJSON(result);
                if(result.success){
                    $.messager.alert("系统提示",result.message);
                    $("#dlg").dialog("close");
                    that.frestSearchForm();//重置搜索数据
                    //userManager.finitQuerybaseParams();
                     //带公司条件
                     that.squerybaseParams="companyId="+that.companyId;
                    that.fqueryData();
                } else{
                    $.messager.alert("系统提示","<font color='red'>"+result.message+"</font>");
                }
            }
        });
    }

    combobox可以通过api getValue获取
snaif_lx
snaif_lx 没有form怎么来的submit
4 年多之前 回复

给这个事件实现一个监听器就可以了。

 onAfterEdit    
                rowIndex, rowData, changes  当用户编辑完成时触发,参数如下:
rowIndex:正在编辑的行索引,从0开始。
rowData:对应于正在编辑的行的记录。
changes:被改变的字段内容,对应方式为字段:值。

添加一个监听器监听一下 当编辑完成时触发该操作

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
easyui datagrid getChecked无法获取勾选的数据
easyui datagrid在编辑状态下,用鼠标勾选了数据行后,在调用acceptChanges接受数据更改,恢复到不可编辑状态时,此时调用getChecked无法获取到之前在编辑状态下勾选的数据,虽然此时数据行前面的复选框checkbox还是在勾选的状态。 easyui版本1.4.3
easyUI datagrid 列编辑
datagrid行上多个字段都是可编辑的,都有editor 属性,但是现在想要单击或双击某一列,打开当前列的编辑状态,求助大神,谢谢 答案找到了,谢谢 <script type="text/javascript"> $.extend($.fn.datagrid.methods, { editCell : function(jq, param) { return jq.each(function() { var opts = $(this).datagrid('options'); var fields = $(this).datagrid('getColumnFields', true).concat( $(this).datagrid('getColumnFields')); for ( var i = 0; i < fields.length; i++) { var col = $(this).datagrid('getColumnOption', fields[i]); col.editor1 = col.editor; if (fields[i] != param.field) { col.editor = null; } } $(this).datagrid('beginEdit', param.index); for ( var i = 0; i < fields.length; i++) { var col = $(this).datagrid('getColumnOption', fields[i]); col.editor = col.editor1; } }); } }); var editIndex = undefined; //结束编辑 function endEditing() { if (editIndex == undefined) { return true } if ($('#dg').datagrid('validateRow', editIndex)) { $('#dg').datagrid('endEdit', editIndex); editIndex = undefined; return true; } else { return false; } } //单击单元格 function onClickCell(index, field) { if (endEditing()) { $('#dg').datagrid('selectRow', index).datagrid('editCell', { index : index, field : field }); editIndex = index; } } </script>
easyui如何在datagrid的行编辑或新增的时候锁定行
**easyui如何在datagrid的行编辑或新增的时候锁定行, 让鼠标点击其他行后还是选中的当前编辑行?** 因为我发现如果在编辑行或新增行的时候,我把鼠标单击到其他行, 在获取数据的时候就获取不到编辑或新增的内容。
easyui datagrid search
easyui datagrid 我想要在行内编辑里面添加一个search框,请问怎么做???
easyui 嵌套datagrid 二级datagrid编辑问题
![图片说明](https://img-ask.csdn.net/upload/201612/05/1480923849_204859.png) 一级datagrid编辑没有问题 二级datagrid编辑时只有第一行可以编辑,其他行都报错
easyui datagrid中combobox的问题
如下图: ![图片说明](https://img-ask.csdn.net/upload/201506/27/1435398138_950017.png) 这是后台编辑页面,作用为新闻的管理(新闻实体的字段“是否在前台显示”的值只有“是”和“否”)。 我想让“是否在首页显示”这一列下面都有一个combobox,默认值为数据库中真实的值。如果某条新闻的这个字段值为“是”,则对应的combobox还有一个值为“否”的option,反之对应的combobox还有一个值为“是”的option。 从网上找了一段代码实现不了,请问该如何改呢?求大神帮忙! //实现新闻DataGird控件的绑定操作 function initTable(queryData) { $('#test').datagrid({ //定位到Table标签,Table标签的ID是test fitColumns: true, url: '/News/QueryAllNews', //指向后台的Action来获取当前用户的信息的Json格式的数据 title: '新闻公告', //标识 iconCls: 'icon-save', height: 368, nowrap: true, autoRowHeight: false, striped: true, collapsible: true, pagination: true, rownumbers: true, //sortName: 'ID', //根据某个字段给easyUI排序 sortOrder: 'asc', remoteSort: false, idField: 'NewsID', queryParams: queryData, //异步查询的参数 columns: [[ { field: 'ck', checkbox: true }, { title: '主键', field: 'NewsID', sortable: true, hidden: true, }, { title: '内容标题', field: 'NewsTitle', width: 50, sortable: true }, { title: '具体内容', field: 'NewsContent', sortable: true, hidden: true, }, { title: '创建时间', field: 'TimeStamp', sortable: true, }, { title: '所属类别', field: 'CategoryName', sortable: true, }, { title: '创建人', field: 'UserName', sortable: true }, { title: '是否在首页显示', field: 'IsEnable', align: 'center', editor: { type: 'combobox', options: { data: [{ value: '是', text: '是', 'selected': 'true' }, { value: '否', text: '否' }], panelHeight: 'auto' } }, sortable: true } ]], toolbar: [{ id: 'btnadd', text: '添加', iconCls: 'icon-add', handler: function () { //实现弹出注册信息的页面 AddNews(); } }, '-', { id: 'btncut', text: '修改', iconCls: 'icon-cut', handler: function () { //实现修改的方法 UpdateLzjs(); } }, '-', { id: 'btnCancle', text: '删除', iconCls: 'icon-remove', handler: function () { //实现直接删除所有数据的方法 DeleteLzjs(); } }] }); }
easyui datatrid如何给编辑过的数据行标记下
  easyui DataGrid,如果数据行编辑过或者进入过编辑模式,当切换到显示模式,非编辑模式下,如何高亮之前的数据行?效果如下 ![](http://www.w3dev.cn/imgblog/20170911/0934301269.png)
easyui datagrid 中combobox显示问题
我的列表中有个下拉框当选择一项后页面上所显示的是代码而不是文字,我的下拉框代码如下:function addEditorPosition(){ ``` $("#borrow_detailinfo").datagrid('addEditor',{ field:'borrow_type',title:'借款类型',width:150,align:'center', formatter: unitformatter, editor:{ type:'combobox', //设置下拉框 options:{ //url:cusUrl, //ajax请求配置下拉框选项 data:positions, valueField : 'enname', //存储字段码 textField : 'cnname', //显示字段值 required : true, editable : false, onSelect:function(record){ //选择后结束行编辑 } } } }); } ``` 匹配的方法代码如下: ``` function unitformatter(value) { for (var i = 0; i < positions.length; i++) { if (positions[i].enname == value) { alert(value); return positions[i].enname; } } return value; } ``` 这个方法干脆就不走,求大神,求帮助。
easyui中datagrid合并单元格后,再编辑。单元格错位怎么解决?
easyui中datagrid合并单元格后,当开启其他列某一个单元格进入编辑状态时,合并行会出现错位,该怎么解决啊???
动态生成的easyui datagrid怎么获得改变的值????
datagrid为动态生成的可编辑表格,用getchanges方法没有改变的值也会得到???
easyui中的datagrid表格中,如何提交所有的行数据到后台
如题,我在一个controller中查到一些数据,并将它们显示在前台,现在我需要将 这些数据编辑之后提交到后台并保存,如何将datagrid中的所有数据提交到后台
easyui怎么给datagrid行编辑模式的日期选择框添加onselect事件?
mydateEditor.target.datebox({ onSelect:function(){ } }); 这么写虽然不会报错,但datebox上的按钮不见了,不能选择日期了,只能输入日期。
easyui的datagrid的行如果嵌入百度的富文本编辑器
其中一个字段如hwb需要把它转为百度的富文本编辑器; 另外需要可以初始值,也可以提交值。
java中怎么实现easyUi行编辑保存后显示保存的信息
<script> $(function(){ $("#list_data").datagrid({ url: "${ctx}/ssgl/sspf/pagination", title: "宿舍评分", iconCls:"icon-edit", loadMsg: "数据加载中,请稍候...", nowrap: false, pageSize: 10, pageList: [5, 10, 15,20], fitColumns: true, singleSelect: true, pagination: true, rownumbers:true, frozenColumns:[[ {field:"action",title:"操作",width:70,align:"center", formatter:function(value,row,index){ if (row.editing){ var s = '<a href="#" onclick="saverow('+index+')">保存</a> '; return s; } else { var e = '<a href="#" onclick="editrow('+index+')">编辑</a> '; return e; } } }, {field:'LMC',title:'公寓楼',align:'center',width:120}, {field:'SSFJH',title:'宿舍房间号',align:'center',width:100,}, ]], onBeforeEdit:function(index,row){ row.editing = true; $('#list_data').datagrid('refreshRow', index); }, onAfterEdit:function(index,row,changes){ row.editing = false; var str = ""; for(var p in changes){ str = str+changes[p]+','; } var SSFJH = row.SSFJH; $.ajax({ type:"post", url:"${ctx}/ssgl/sspf/save", data:{ "SSFJH":SSFJH, "changes":str, }, dataType:"json", success:function(date){ if(date==1){ $.messager.alert('提示','保存成功'); }else{ $.messager.confirm("提示", "保存失败", function (r) { if (r) { window.location.reload(); } }) } } }); }, }); loadDatagrid(); }); //加载评分项列 function loadDatagrid() { var columns=new Array(); $.ajax({ url:"${ctx}/ssgl/sspf/pfx", type:"POST", success: function(data){ $.each(data,function(index,content){ var column={}; column["title"]=content.PFXMC; column["field"]='DF'+index; column["width"]=130; column["align"]='center'; column["editor"]='numberbox'; columns.push(column); }); $("#list_data").datagrid({ columns:[columns] }); } }); } //查询 function FindData(){ $("#list_data").datagrid("load",{ LH:$("#cc").val(), SSFJH:$("#ss").val(), }); } //编辑 function editrow(index){ $('#list_data').datagrid('beginEdit', index); } //保存 function saverow(index){ $('#list_data').datagrid('endEdit', index); } </script> body里的 <table id="list_data" class="easyui-datagrid" toolbar="#searchtool"> <thead> </thead> <tbody id="tb"> </tbody> </table> (加载评分项列这里的表格并不是在body里而是在 js里用each循环出来的,)
Easyui datagrid IE下 行编辑器中控件会随滚动条浮动
![图片说明](https://img-ask.csdn.net/upload/201501/14/1421230926_354276.png)
easyui datagrid combobox联动的问题
{ field: 'NMJ04', title: '夫妇姓名', width: 100, sortable: true, editor: {type: 'combobox', options: { required: true, url: '/handler/familyinfo.ashx?flag=treeClubNet&t=4', dataType: 'json', parentField: 'pid', textFiled: 'text', valueField: 'id', method: 'get', lines: true, editable: false, panelHeight: 130, onSelect: function (record) { var row = $('#dd').datagrid('getSelected'); var rowIndex = $('#dd').datagrid('getRowIndex',row);//获取行号 var target = $('#dd').datagrid('getEditor', {'index':rowIndex,'field':'NMJ05'});//.target; target.combobox('clear'); //清除原来的数据 var url = '/handler/spouseinfo.ashx?flag=getValueNMK06&t='+record.id; target.combobox('reload', url);//联动下拉列表重载 //这里还需要设置一个textbox的值,NMJ06,怎么办? }, panelMaxWidth: 200 } } }, NMJ04是姓名,选择了之后自动提出NMJ05(性别)和NMJ06,身份证号码 新增行和编辑行的时候怎么操作啊? 我新增时row的值直接是null,求教求教
easyui datagrid新增一行数据如何设置text框的属性
var colnum_staff = [[ {field:'before_iscore',title:'选择',checkbox:true}, {field:'borrow_id',title:'明细编号',width:200,align:'center', editor:{ type:'text', name:'addBorrowInfo.id' } }, {field:'borrow_name',title:'借款事项',width:200,align:'center', editor:{ type:'text', name:'borrowdetail' } }, {field:'borrowtype_code',title:'借款类型',width:200,align:'center', editor:{ type:'combobox', //设置下拉框 name:'addBorrowInfo.borrow_type', formatter:positionFormatter, options:{ data:positions, valueField : 'enname', //存储字段码 textField : 'cnname', //显示字段值 required : true, editable : false, onSelect:function(record){ //选择后结束行编辑 //updatePositionExist(record); } } } }, {field:'borrow_amound',title:'借款金额',width:200,align:'center', editor:{ type:'text' } } ]]; 这是colnum代码,我的意思是在这个field里怎么设置输入框的name属性,和onblur事件,求大神们指点。 点击新增按钮新增一行,如何设置这一行中的输入框的name属性,和onblur事件。求大神指点。
easyui datagrid,获取当前选中的列名
我有一个可以编辑的DataGrid, 我想得到我现在鼠标焦点所处的列名,field。 当还未处于编辑状态时,可以通过DataGrid的onClickCell事件来获取到field,在编辑状态的时候,怎么获取到field 就是希望在鼠标点击格子之后,可以获取到当前的光标所处格子的字段名,field
easyui datatrid如何给编辑过的数据行高亮描红
easyui DataGrid,如果数据行编辑过或者进入过编辑模式,当切换到显示模式,非编辑模式下,如何高亮之前的数据行?效果如下图所示 ![图片说明](https://img-ask.csdn.net/upload/201802/11/1518333879_587689.png)
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
阿里P8数据架构师:顶级开发者都在用什么数据库?
其实从去年已经隐隐约约感觉到数据库的有变化,只是没有想到变得这么快。今年的一些事情实实在在地给了某些数据库重击,如果以前去某数据库还是喊喊,然后该用还用,今年从传统领域刮起的去某数据库的风,已经开始了,并且后面的乌云密布也看得见。 最近看一篇国外的开源产品提供厂商的一篇文字,主要是在询问了他的几百位客户后得出了下图中的2019年数据库的使用趋势。 从图中可以看出,MySQL以38.9...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
互联网公司分布式系统架构演进之路
介绍 分布式和集群的概念经常被搞混,现在一句话让你明白两者的区别。 分布式:一个业务拆分成多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 例如:电商系统可以拆分成商品,订单,用户等子系统。这就是分布式,而为了应对并发,同时部署好几个用户系统,这就是集群 1 单应用架构 2 应用服务器和数据库服务器分离 单机负载越来越来,所以要将应用服务器和数据库服务器分离 3 应用服务...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
程序员需要了解的硬核知识之汇编语言(一)
之前的系列文章从 CPU 和内存方面简单介绍了一下汇编语言,但是还没有系统的了解一下汇编语言,汇编语言作为第二代计算机语言,会用一些容易理解和记忆的字母,单词来代替一个特定的指令,作为高级编程语言的基础,有必要系统的了解一下汇编语言,那么本篇文章希望大家跟我一起来了解一下汇编语言。 汇编语言和本地代码 我们在之前的文章中探讨过,计算机 CPU 只能运行本地代码(机器语言)程序,用 C 语言等高级语...
OpenCV-Python 绘图功能 | 七
目标 学习使用OpenCV绘制不同的几何形状 您将学习以下功能:cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等。 代码 在上述所有功能中,您将看到一些常见的参数,如下所示: img:您要绘制形状的图像 color:形状的颜色。对于BGR,将其作为元组传递,例如:(255,0,0)对于蓝色。对于灰度,只需传递...
GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!
大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻… 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。 后来自己花了一个星期看完了 Pyt...
Java知识体系最强总结(2020版)
更新于2019-12-15 10:38:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 文章目录...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Fiddler+夜神模拟器进行APP抓包
Fiddler+夜神模拟器进行APP抓包 作者:霞落满天 需求:对公司APP进行抓包获取详细的接口信息,这是现在开发必备的。 工具:Fiddler抓包,夜神模拟器 模拟手机 安装APP 1.下载Fiddler https://www.telerik.com/download/fiddler Fiddler正是在这里帮助您记录计算机和Internet之间传递的所有HTTP和HTTPS通信...
小白学 Python 爬虫(42):春节去哪里玩(系列终篇)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...
一文带你看清 HTTP 所有概念
上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍 通用...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
[数据结构与算法] 排序算法之归并排序与基数排序
归并排序 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 基本思想 可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
史上最牛逼的 Eclipse 快捷键,提高开发效率!
如果你在使用IDEA,请参考博主另外的一篇idea快捷键的博客。
相关热词 c#怎么获得线程名 c# usb 采集器 c# csv 读取 c# sort() c# 关闭io流 c# 响应函数 插入 c#面对对象的三大特性 c# 打印 等比缩放 c#弹出右键菜单 c#1如何搞成01
立即提问