मैं jexcel के साथ चिह्नित कोशिकाओं को मर्ज करना चाहता हूं। मुझे नहीं पता कि यह कैसे करना है। अधिक विशेष रूप से, मैं कोशिकाओं को एक गतिशील स्थिति में मर्ज करना चाहता हूं और उन्हें MySQL में मर्ज किए गए कक्षों में लिखना चाहता हूं। यह कैसे करना है
<div id="example"></div>
<script>
var data = [
['', 'Ford', 'Tesla', 'Toyota', 'Honda'],
['2017', 10, 11, 12, 13],
['2018', 20, 11, 14, 13],
['2019', 30, 15, 12, 13]
];
var container = document.getElementById('example');
var hot = new Handsontable(container, {
data: data,
rowHeaders: true,
colHeaders: true,
filters: true,
dropdownMenu: true,
contextMenu: true
});
</script>
1 उत्तर
आपका प्रश्न स्पष्ट नहीं है लेकिन मैं अपनी क्षमता के अनुसार इसका उत्तर देने का प्रयास करूंगा।
अगर मैं आपके द्वारा प्रदान किए गए उदाहरण को अनदेखा करता हूं और jExcel पर ध्यान केंद्रित करता हूं, तो हम setMerge
का उपयोग करके कोशिकाओं को मर्ज कर सकते हैं और इसके लिए हमें यह जानना होगा:
- पहली सेल का पता
- चयनित पंक्तियों की संख्या
- चयनित स्तंभों की संख्या
हम इस जानकारी को यहां से निकाल सकते हैं:
$("#spreadsheet").jexcel("getSelectedRows", true);
$("#spreadsheet").jexcel("getSelectedColumns", true);
सिद्धांत रूप में यह अकेले काम करना चाहिए, लेकिन जेएक्ससेल फोकस खोने पर कोशिकाओं को अचयनित करता है (यानी जब उपयोगकर्ता बटन पर क्लिक करता है) इसलिए मैंने किसी ऑब्जेक्ट में सेल के चयन को स्टोर करने के लिए वर्कअराउंड का उपयोग किया, और बाद में उस ऑब्जेक्ट का उपयोग कोशिकाओं को मर्ज करने के लिए किया।
एचटीएमएल:
<div id="spreadsheet"></div>
<br>
<input id="myB" type="button" value="Merge Selected" />
जावास्क्रिप्ट:
var mySlection = {};
var options = {
minDimensions: [10, 10],
onselection: storeSelection
};
$(document).ready(function() {
var mySpreadsheet = $("#spreadsheet").jexcel(options);
$("#myB").click(function() {
//Merge Cells using the stored selection
$("#spreadsheet").jexcel("setMerge", mySlection.firstcell, mySlection.colspan, mySlection.rowspan)
/*
you may now store the following values to your MySQL
mySlection.firstcell
mySlection.colspan
mySlection.rowspan
*/
});
});
function storeSelection() {
var sRows = $("#spreadsheet").jexcel("getSelectedRows", true);
var sCols = $("#spreadsheet").jexcel("getSelectedColumns", true);
mySlection.firstcell = [sCols[0], sRows[0]];
mySlection.colspan = sCols.length;
mySlection.rowspan = sRows.length;
}
आवश्यकताएं: jQuery, jExcel और jSuites v3