Wenn in Handsontable eine ähnliche Spaltenüberschrift vorhanden ist, wird der Zellenwert der ersten Spalte automatisch in eine andere ähnliche Zelle kopiert

Lesezeit: 3 Minuten

Benutzer-Avatar
Sudhanshu Saxena

Immer wenn ich einen Wert in die erste Zelle eingebe, wird derselbe Wert automatisch in die Kopfzelle mit dem gleichen Namen kopiert. Wie können wir das stoppen? Ich habe versucht, dieses Problem zu googlen, aber keine passende Lösung gefunden.

Hier ist der Code:

$.ajax({
    type: "POST",
    async: false,
    url: url,
    data: data,
    success: function (res)
    {
        grid = new Handsontable(container, {
            data: [],
            rowHeaders: true,
            autowidth: false,
            autoRowSize:true,
            maxRows: 100,
            minRows: 15,
            width: 'auto',
            height: 420,
            stretchH: 'all', //this is used to cover the full div
            overflow: 'hidden',

        colHeaders: res.data.header,
            columns: res.data.renderer,
            fillHandle: {
                autoInsertRow: false
            },
        minSpareRows: 1,               
        });        
    }
});

Geben Sie hier die Bildbeschreibung ein

Aktualisieren
Hier ist der json, der zum Erstellen von Headern und Listen verwendet wird

<iframe src="https://pastebin.com/embed_iframe/ind7Savd" style="border:none;width:100%"></iframe>

  • Können Sie die Datenantwort posten?

    – jd_7

    21. Dezember 2017 um 19:33 Uhr

  • Was ist, wenn Sie den Header-Namen ändern? wie mehrzeilig 1 und mehrzeilig 2 !

    – Ahmad Hajjar

    22. Dezember 2017 um 2:51 Uhr

  • @AhmadHajjar funktioniert gut, wenn ich den Header-Namen ändere. Aber es muss gleich sein.

    – Sudhanshu Saxena

    22. Dezember 2017 um 8:28 Uhr

  • Header können denselben Namen haben, ich denke, Sie haben denselben Datenwert in Spalten jsfiddle.net/fuobfe3L

    – Saeed.Gh

    24. Dezember 2017 um 8:09 Uhr

  • @SudhanshuSaxena bitte poste hier die Antwort für die ganze Community

    – Simone Rossaini

    19. August 2020 um 13:46 Uhr

Benutzer-Avatar
Chandan

Kopfzeilen enthalten können duplicate gleichnamige Spalte, aber weil JSON Objekt {} kann keine doppelten Schlüssel enthalten, wir können Daten verschiedenen Schlüsseln zuweisen und sie unter demselben Header-Namen verwenden

var dataObject = [
  {
    id: 1,
    flag: 'EUR',
    currencyCode: 'EUR',
    currency: 'Euro',
    level: 0.9033,
    units: 'EUR / USD',
    asOf: '08/19/2019',
    date1: '01',
    date2: 'date01',
    onedChng: 0.0026
  },
  {
    id: 2,
    flag: 'JPY',
    currencyCode: 'JPY',
    currency: 'Japanese Yen',
    level: 124.3870,
    units: 'JPY / USD',
    asOf: '08/19/2019',
    date1: '02',
    date2: 'date02',
    onedChng: 0.0001
  },
  {
    id: 3,
    flag: 'GBP',
    currencyCode: 'GBP',
    currency: 'Pound Sterling',
    level: 0.6396,
    units: 'GBP / USD',
    asOf: '08/19/2019',
    date1: '03',
    date2: 'date03',
    onedChng: 0.00
  },
  {
    id: 4,
    flag: 'CHF',
    currencyCode: 'CHF',
    currency: 'Swiss Franc',
    level: 0.9775,
    units: 'CHF / USD',
    asOf: '08/19/2019',
    date1: '04',
    date2: 'date04',
    onedChng: 0.0008
  },
  {
    id: 5,
    flag: 'CAD',
    currencyCode: 'CAD',
    currency: 'Canadian Dollar',
    level: 1.3097,
    units: 'CAD / USD',
    asOf: '08/19/2019',
    date1: '05',
    date2: 'date05',
    onedChng: -0.0005
  },
  {
    id: 6,
    flag: 'AUD',
    currencyCode: 'AUD',
    currency: 'Australian Dollar',
    level: 1.3589,
    units: 'AUD / USD',
    asOf: '08/19/2019',
    date1: '05',
    date2: 'date05',
    onedChng: 0.0020
  },
  {
    id: 7,
    flag: 'NZD',
    currencyCode: 'NZD',
    currency: 'New Zealand Dollar',
    level: 1.5218,
    units: 'NZD / USD',
    asOf: '08/19/2019',
    date1: '06',
    date2: 'date06',
    onedChng: -0.0036
  },
  {
    id: 8,
    flag: 'SEK',
    currencyCode: 'SEK',
    currency: 'Swedish Krona',
    level: 8.5280,
    units: 'SEK / USD',
    asOf: '08/19/2019',
    date1: '07',
    date2: 'date07',
    onedChng: 0.0016
  },
  {
    id: 9,
    flag: 'NOK',
    currencyCode: 'NOK',
    currency: 'Norwegian Krone',
    level: 8.2433,
    units: 'NOK / USD',
    asOf: '08/19/2019',
    date1: '08',
    date2: 'date08',
    onedChng: 0.0008
  },
  {
    id: 10,
    flag: 'BRL',
    currencyCode: 'BRL',
    currency: 'Brazilian Real',
    level: 3.4806,
    units: 'BRL / USD',
    asOf: '08/19/2019',
    date1: '09',
    date2: 'date09',
    onedChng: -0.0009
  },
  {
    id: 11,
    flag: 'CNY',
    currencyCode: 'CNY',
    currency: 'Chinese Yuan',
    level: 6.3961,
    units: 'CNY / USD',
    asOf: '08/19/2019',
    date1: '10',
    date2: 'date10',
    onedChng: 0.0004
  },
  {
    id: 12,
    flag: 'RUB',
    currencyCode: 'RUB',
    currency: 'Russian Rouble',
    level: 65.5980,
    units: 'RUB / USD',
    asOf: '08/19/2019',
    date1: '11',
    date2: 'date11',
    onedChng: 0.0059
  },
];
var currencyCodes = ['EUR', 'JPY', 'GBP', 'CHF', 'CAD', 'AUD', 'NZD', 'SEK', 'NOK', 'BRL', 'CNY', 'RUB', 'INR', 'TRY', 'THB', 'IDR', 'MYR', 'MXN', 'ARS', 'DKK', 'ILS', 'PHP'];
var flagRenderer = function (instance, td, row, col, prop, value, cellProperties) {
  var currencyCode = value;
  while (td.firstChild) {
    td.removeChild(td.firstChild);
  }
  if (currencyCodes.indexOf(currencyCode) > -1) {
    var flagElement = document.createElement('DIV');
    flagElement.className="flag " + currencyCode.toLowerCase();
    td.appendChild(flagElement);
  } else {
    var textNode = document.createTextNode(value === null ? '' : value);

    td.appendChild(textNode);
  }
};
var hotElement = document.querySelector('#hot');
var hotElementContainer = hotElement.parentNode;
var hotSettings = {
  data: dataObject,
  columns: [
    {
      data: 'id',
      type: 'numeric',
      width: 40
    },
    {
      data: 'flag',
            renderer: flagRenderer
    },
    {
      data: 'currencyCode',
      type: 'text'
    },
    {
      data: 'currency',
      type: 'text'
    },
    {
      data: 'level',
      type: 'numeric',
      numericFormat: {
        pattern: '0.0000'
      }
    },
    {
      data: 'units',
      type: 'text'
    },
    {
      data: 'asOf',
      type: 'date',
      dateFormat: 'MM/DD/YYYY'
    },
    {
      data: 'date1',
      type: 'text',
    },
    {
      data: 'date2',
      type: 'text',
    },
    {
      data: 'onedChng',
      type: 'numeric',
      numericFormat: {
        pattern: '0.00%'
      }
    }
  ],
  stretchH: 'all',
  width: 805,
  autoWrapRow: true,
  height: 487,
  maxRows: 22,
  rowHeaders: true,
  colHeaders: [
    'ID',
    'Country',
    'Code',
    'Currency',
    'Level',
    'Units',
    'Date',
    'Date',
    'Date',
    'Change'
  ],
  columnSorting: {
    indicator: true
  },
  autoColumnSize: {
    samplingRatio: 23
  },
  language: 'en-US'
};
var hot = new Handsontable(hotElement, hotSettings);

1216490cookie-checkWenn in Handsontable eine ähnliche Spaltenüberschrift vorhanden ist, wird der Zellenwert der ersten Spalte automatisch in eine andere ähnliche Zelle kopiert

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy