ExtJs 대량 업데이트

4249 단어 ExtJs
어제 이 대량 업데이트는 내가 나중에 잊어버리지 않도록 적지 않은 시간을 썼다.
대량 업데이트의 논리는 이렇다.
상점에서 업데이트해야 할 줄을 가져와 줄을 그룹에 넣은 다음 그룹을 Json 문자열로 바꾸고, Json 문자열이 백그라운드로 전달된 후에 실체 목록으로 해석한 다음 훑어보고 대량으로 업데이트합니다.
대량 업데이트 기본 코드는 다음과 같습니다.
1. Store 업데이트 줄을 가져와 데이터베이스에 대량으로 제출합니다.
                        // Store , 

                        var result = new Array();

                        for (var i = 0; i < wdpsDTOStore.data.length; i++) {

                            var model = wdpsDTOStore.getAt(i);

                            if (model.dirty) {

                                result.push(model.data);

                            }

                        }

                        if (result.length == 0) {

                            JsHelper.ShowError(' , !');

                            return;

                        }



                        Ext.Ajax.request({

                            url: virupath + '/LogisticsMgr/UpdateWDps',

                            params: {

                                'strJsonWdps': Ext.encode(result)

                            },

                            success: function(form, action) {

                                var result = Ext.util.JSON

                                             .decode(form.responseText);                                

                                if (result.success) {

                                    JsHelper.ShowWarning('');

                                    LoadStore();

                                } else {

                                    JsHelper.ShowError(result.msg);

                                }

                            },

                            failure: function(form, action) {                             

                                JsHelper.ShowError(' , !');

                            }

                        });

2, 백그라운드에서 해석하고 반복한다.
            List<WdpsDTO> listWdpsDTO = FormatJsonExtension.JSONStringToList<WdpsDTO>(Request["strJsonWdps"]);

            foreach (WdpsDTO item in listWdpsDTO)

            {



            }        

 
지금 보기에는 매우 간단하지만, 당시에는 약간의 시행착오를 겪었으니, 말하지 않겠지만, 나에게도 귀중한 경험이다.

좋은 웹페이지 즐겨찾기