कई समस्याएं हैं जो मेरी समस्या को हल करने के बहुत करीब हैं लेकिन दर्जनों और दर्जनों प्रश्नों के बारे में मैंने जो कुछ भी डाला है, वह बिल्कुल सही नहीं है, मैं करने की कोशिश कर रहा हूँ। हालांकि मैंने लगभग एक ही प्रश्न को उत्तर के बिना पूछा है। मैंने विकल्पों और कार्यों के इतने सारे संयोजनों का कोई फायदा नहीं लिया है।क्लाइंट पर मोडल फॉर्म का उपयोग करके jqGrid में नई पंक्ति जोड़ना केवल
मैं jqGrid में इनपुट किए गए मानों के साथ एक नई पंक्ति जोड़ने के लिए मोडल फॉर्म का उपयोग करना चाहता हूं लेकिन मैं इसे सबमिट करने पर सर्वर पर पोस्ट नहीं करना चाहता हूं। मैं अंततः सर्वर पर पोस्ट करना चाहता हूं लेकिन क्लाइंट उपयोगकर्ता ने मोडल फॉर्म से जोड़े गए पंक्तियों पर अतिरिक्त संपादन (यदि आवश्यक हो) के बाद ही किया है। मैं नहीं चाहता कि किसी भी पंक्ति को दूरस्थ डेटाबेस में सहेजा जाए जब तक कि क्लाइंट ने कुछ संपादन नहीं किए हैं जो बदले में अन्य कॉलम को गतिशील रूप से अपडेट करते हैं। एक बार मूल्यों की एक निश्चित स्थिति मान्य हो जाने के बाद एक सहेजें बटन प्रदर्शित होता है और ग्रिड पंक्ति सर्वर पर पोस्ट की जा सकती है। जब तक यह मान्य स्थिति पूरी नहीं होती है तब तक पंक्तियों को डेटाबेस में सबमिट नहीं किया जाता है। मेरे पास मेरे ऐप में कहीं और उपयोग करने में कई jqGrids हैं जो सबमिट किए गए मोडल फॉर्म के नए पंक्ति डेटा को पोस्ट करते हैं लेकिन यह ग्रिड मैं क्लाइंट के साथ कुछ अलग करने की कोशिश कर रहा हूं जो तुरंत सर्वर को शामिल नहीं करता है। मुझे क्लाइंट उपयोगकर्ता के साथ मूल्यों की प्रारंभिक प्रविष्टि के लिए मोडल फॉर्म का अधिक सहज इंटरफ़ेस पसंद है, फिर आवश्यक होने पर नई पंक्ति के फ़ील्ड को इनलाइन करना संपादित करें, जो मेरे प्रश्न की जरुरत है: क्या मैं फ़ॉर्म को बिना किसी नई पंक्ति के सबमिट कर सकता हूं सर्वर पर कोई पोस्टिंग कार्रवाई हो रही है?
मैंने jqGrid विकी संसाधन में एक उपयोगकर्ता द्वारा की गई एक टिप्पणी में देखा जो कहा कि "क्लाइंटअरे" ग्रिड मोडल फॉर्म सबमिशन विकल्प "editurl:" clientArray "का उपयोग करने के लिए दर्ज मान है कि मोडल फॉर्म" कोई यूआरएल सेट नहीं है "संदेश लेकिन यह अभी भी करता है और ग्रिड में एक नई पंक्ति नहीं जोड़ा जाता है। मैंने ग्रिड डेटाटाइप को स्थानीय" डेटाटाइप: 'क्लाइंटसाइड' के रूप में बनाया है, लेकिन वही "कोई यूआरएल सेट नहीं है" त्रुटि संदेश प्राप्त करें । स्क्रिप्ट एक सामान्य बटन द्वारा मॉड्यूल रूप के लिए बहुत सरल है:
("पैररो, उपयोगकर्ताडेटाऑनफूटर और altRows" विकल्प सारांश फ़ूटर में अद्यतन मानों के हिस्से के रूप में शामिल हैं जो संबंधित है मोडल फॉर्म के माध्यम से जोड़े जाने वाली नई पंक्ति (कोशिकाओं) की कोशिकाओं पर किए गए संपादन)
jQuery("#grid_test").jqGrid({
url:'/grid_test_url.asp?id=' + vId,
datatype: "clientSide",
colNames: ['ID','Col 1', 'Col 2', 'Col 3','Col 4'],
colModel: [
{name:'id',index:'id',width:90,align:"center",editable:true,editoptions:{size:25}, formoptions: {...}, editrules: {...}},
{name:'col1',index:'col1',width:130,align:"right",editable:true,editoptions:{size:25}, formoptions: {}, editrules: {}},
{name:'col2',index:'col2',width:130,align:"right",editable:true,editoptions:{size: 25}, formoptions: {}, editrules: {}},
{name:'col3',index:'col3',width:130,align:"right",editable: true,editoptions:{size:25}, formoptions: {}, editrules: {}},
{name:'col4',index:'col4',width:130,align:"right",editable:true,editoptions:{ size: 25 }, formoptions: {}, editrules: {}}
],
rowNum:5,
rowList:[5,10,20],
pager: '#pgrid_test',
toolbar: [true, "top"],
editurl: '', //not sure what would go here to block attempted post by the Submit action of the modal form
width: 500,
sortname: 'id',
viewrecords: true,
sortorder: "asc",
multiselect: true,
cellEdit: true,
caption: "Grid Test Add New Row",
footerrow: true,
userDataOnFooter: true,
altRows: true
})
jQuery("#grid_test").jqGrid('navGrid', '#pgrid_test', { add: false, edit: false, del: false })
//append custom button
$("#t_grid_test").append("<input type='button' class='add' value='Add New Row' style='height:20px; color:green; font-size:11px;' />");
$("input.add", "#t_grid_test").click(function() {
jQuery("#grid_test").jqGrid('editGridRow', "new", {
jqModal: true,
savekey: [true, 13],
navkeys: [true, 38, 40],
bottominfo: "Fields marked with (*) are required. ",
addCaption: 'New Row Values',
width: 300,
dataheight: 200,
recreateForm: true,
//checkOnUpdate: true,
//checkOnSubmit: true,
//reloadAfterSubmit: true,
closeOnEscape: true,
closeAfterAdd: true
//clearAfterAdd: true
})
});
मुझे उम्मीद है कि यह उचित रूप से स्पष्ट है। ऐसा लगता है कि बिना किसी सर्वर के पोस्टिंग के मोडल फॉर्म का उपयोग करके एक पंक्ति जोड़ने के लिए यह आसान होना चाहिए, लेकिन मैं समाधान को हल नहीं कर सकता। और अगर मैं उत्तर के लिए दिए गए उचित क्रेडिट के लिए तुरंत आइकन पर क्लिक नहीं करता हूं, तो कृपया मुझे सहन करें, लेकिन जब मुझे पता चलेगा कि क्या क्लिक करना है तो कृपया तदनुसार सलाह दें। :) अग्रिम में बहुत धन्यवाद। जैरी
धन्यवाद तुम @ ओलेग –
@ फ्रैंक: आपका स्वागत है! – Oleg
@ ओलेग - वास्तव में मुझे जो चाहिए था। दुर्भाग्यवश, ऐसा लगता है कि यह jqGrid 4.6 या 4.7 के साथ काम नहीं करता है। फॉर्म रीसेट नहीं होता है और फिर "क्लाइंट आवश्यक" पर त्रुटियां, भले ही फॉर्म में डेटा हो, – MSquared