jQuery MiniUI

 找回密码
 立即注册
查看: 19514|回复: 4
打印 上一主题 下一主题

如何获取grid中一行里的某一列,并给他赋值 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2013-2-1 10:53:41 |只看该作者 |倒序浏览
我的代码是想在grid可编辑行里,点击物料编码 ,就是一个btnEdit控件,弹出窗口里选择一行信息,返回给grid当前行,赋值给行里的几个列。
<script type="text/javascript">

        function onButtonSelect(e) {
            var btnEdit = this;
            mini.open({
                url: bootPATH + "../test/SelectMattrial.htm",
                title: "选择列表",
                width: 650,
                height: 380,
                ondestroy: function (action) {
                    //if (action == "close") return false;
                    if (action == "ok") {
                        var iframe = this.getIFrameEl();
                        var datas = iframe.contentWindow.GetData();
                        if (datas != null) {
                            var row = grid.getSelected();
                             //再接下来不知道怎么写了?我想把datas.codenum赋值给grid第三列,怎么写呢?
                        }

                    }

                }
            });

        }        
    </script>

<div id="datagrid1" class="mini-datagrid" style="width:1020px;height:280px;"
       url="testmodel.aspx?method=SearchVoid" multiSelect="true" allowResize="true"
    >
        <div property="columns">
            <div type="checkcolumn"></div>
            <div field="CodeNum" allowResize="false" width="120" headerAlign="center" allowSort="true">物料编码
                <input property="editor" id="Text1" class="mini-buttonedit" style="width:100%;" name="a" textName="b"/>
            </div>
            <div field="MaName" width="100" allowSort="true" >物料名
                <input property="editor" class="mini-textbox" style="width:100%;"/>
            </div>            
            <div field="StartQty" width="100" allowSort="true" >期初数量
                <input property="editor" class="mini-spinner" style="width:100%;"/>
            </div>   
            <div field="RSDate" width="120" headerAlign="center" dateFormat="yyyy-MM-dd HH:mm:ss" allowSort="true">创建日期
                <input property="editor" class="mini-datepicker"  format="yyyy-MM-dd H:mm:ss" timeFormat="H:mm:ss" showTime="true" showOkButton="true" showClearButton="false" style="width:100%;" minHeight="50"/>
            </div>
           <div field="InputQty" width="120" headerAlign="center" allowSort="true">本月入库数量
                <input property="editor" class="mini-spinner" style="width:100%;" minHeight="50"/>
            </div>
            <div field="InputMoney" width="120" headerAlign="center" allowSort="true">本月入库金额
                <input property="editor" class="mini-textbox" style="width:100%;" minHeight="50"/>
            </div>
            <div field="OutputQty" width="120" headerAlign="center" allowSort="true">本月出库数量
                <input property="editor" class="mini-spinner" style="width:100%;" minHeight="50"/>
            </div>

        </div>
    </div>
    <script type="text/javascript">
      

        mini.parse();

        var grid = mini.get("datagrid1");
        grid.load();

        ////////////////////////////
        function editRow() {
            var rows = grid.getSelecteds();

            if (rows.length > 0) {

                for (var i = 0, l = rows.length; i < l; i++) {
                    var row = rows;
                    grid.beginEditRow(row);
                }
            }
        }
        function addRow() {
            var newRow = { name: "New Row" };
            grid.addRow(newRow, 0);
            grid.beginEditRow(newRow);
        }
        function removeRow() {
            var rows = grid.getSelecteds();
            if (rows.length > 0) {
                grid.removeRows(rows, true);
            }
        }
        function saveData() {
            grid.commitEdit();

            var data = grid.getChanges();
            var json = mini.encode(data);

            grid.loading("保存中,请稍后......");
            $.ajax({
                url: "testmodel.aspx?method=SaveEmployees",
                data: { data: json },
                type: "post",
                success: function (text) {
                    grid.reload();
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(jqXHR.responseText);
                }
            });
        }
        ////////////////////////
        //选择“部门”,设置“职位”
        function onDepartChanged(e) {
            var combo = e.sender;
            var row = grid.getEditorOwnerRow(combo);
            var editor = grid.getCellEditor("Position", row);

            var id = combo.getValue();
            var url = "../demo/data/AjaxService.aspx?method=GetPositionsByDepartmenId&id=" + id
            editor.setUrl(url);
            editor.setValue("");
        }
        //“职位”combo的url在cellbeginedit的时候,根据前面值自动设置
        grid.on("cellbeginedit", function (e) {
            if (e.field == "position") {
                var editor = e.editor;
                var id = e.record.dept_id;
                var url = "../demo/data/AjaxService.aspx?method=GetPositionsByDepartmenId&id=" + id
                editor.setUrl(url);
            }
        });

    </script>

Rank: 8Rank: 8

沙发
发表于 2013-2-1 11:07:44 |只看该作者
比如要给某一行的email赋值
var rowData = {email:"XXXXX"}
grid.updateRow ( row, rowData )

Rank: 1

板凳
发表于 2013-2-1 11:10:13 |只看该作者
factory 发表于 2013-2-1 11:07
比如要给某一行的email赋值
var rowData = {email:"XXXXX"}
grid.updateRow ( row, rowData )

谢谢,这个我试了,只能改一个单元格,我想同时改好几个单元格,有什么好办法吗

Rank: 8Rank: 8

地板
发表于 2013-2-1 11:14:04 |只看该作者
wbqust1 发表于 2013-2-1 11:10
谢谢,这个我试了,只能改一个单元格,我想同时改好几个单元格,有什么好办法吗 ...

var rowData = {email:"XXXXX",id:"XXXX",name:"xxxx".......}

Rank: 1

5#
发表于 2013-2-1 12:05:05 |只看该作者
factory 发表于 2013-2-1 11:14
var rowData = {email:"XXXXX",id:"XXXX",name:"xxxx".......}

太好了,谢谢哦

Archiver|普加软件

GMT+8, 2024-5-18 21:26 , Processed in 1.046735 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部