SORU
14 Mayıs 2012, PAZARTESİ


jqGrid Krom/Krom düzgün Çerçeve oluşturma değil

Kullanmakta v19 Krom.0.1084.46 (Resmi Yapı 135956) beta-m 4.3.2 (son sürüm) jqGrid

Sorunun bu boyutu ne olursa olsun benim ızgara, sütunlar, ya da içeren div, çok küçük bir kısmı benim son sütun alır itti ötesinde kenar ızgara, neden yatay kaydırma çubukları görünür bir şey. Aşağıya bakın:

grid

JqGrid aşağıdaki öznitelikleri ile denemek ve bunu düzeltmek için işe yaramaz oldum:

  • width
  • autowidth
  • height
  • shrinkToFit
  • scrollOffset - Bu bir iyi şans Vardı, ama hiçbir şey tekrarlanabilir.

Ayrıca temel kılavuz css sadece, hiç şans yerine koydum...bir kural olabileceğini düşünerek mahrum ettim.

Herkesten bu deneyimli ve ya bu bir çözüm/buldu? Çok takdir yardım.

CEVAP
16 Mayıs 2012, ÇARŞAMBA


19, sorun yeniden sürüm bugün benim Krom ve hızlı ve kirli ilgili düzeltme yaptı güncelleme:

JqGrid kod the line değiştirmek için öneririm

isSafari = $.browser.webkit || $.browser.safari ? true : false;

aşağıdaki gibi

isSafari = ($.browser.webkit || $.browser.safari) &&
    parseFloat($.browser.version)<536.5 ? true : false; // Chrome < version 19

The demo düzeltme kullanın. Demo kullanılan jquery.jqGrid.src.js sabit sürümü here alabilir.

9 (9.test ettim 0.8112.16421), IE8 (8.0.6001.18702 CO), 18.0.125.168, Krom 19.0.1084.46, Chrome, Safari 5.1.7 (7534.57.2), 12, Opera 11.62 Firefox. Tüm web tarayıcılarda demo yatay kaydırma çubukları vardır ve aşağıdaki gibi görünüyor:

enter image description here

Gelecekte ızgara genişliği hesaplama değiştirmek için daha iyi bir sayı, ya da web tarayıcısı herhangi bir sürümünden doğrudan bir bağımlılık daha derin olurdu. Eğer bir daha bir WordPress kullanmak yöntemleri $.width $.outerWidth kullanmak istiyorsunuz, mümkünse jqGrid bazı yerlerde olacağını umuyorum. Herhangi bir şekilde yukarıda açıklanan düzeltmeyi birçok jqGrid kullanıcılar için zaten yararlı olacağını umarım.

GÜNCELLENDİ: the bug report olarak trirand için benim önerim gönderildi.

2 GÜNCELLENDİ: Olmak, tam olarak orada üç yerden kodu nerede kullanılır aynı $.browser.webkit || $.browser.safari yapı olarak tarif yukarıda: inside setGridWidth, inside of getOffset, inside of calculation of the width multiselect sütun inside showHideCol inside setGridWidth. İlk üç sırayı isSafari değişken kullanır. Son iki yerde doğrudan $.browser.webkit || $.browser.safari kullanır. Bir değiştirmeniz gerekirher yerdekod

$.browser.webkit||$.browser.safari

için

($.browser.webkit || $.browser.safari) && parseFloat($.browser.version)<536.5

Biri bunu yapmak gerekirüç yer var:

  1. isSafari (benim orijinal yazı bakın) tanımı
  2. showHideCol içinde
  3. setGridWidth içinde

Tüm düzeltmeleri 49* **ile 23* sabit sürümünü indirebilirsiniz. Eğer jqGrid eski sürüm kullanmak jquery.jqGrid.src kendine kodda aynı değişiklikleri yapabilirsiniz. Sen iyi biliyorsun ki herhangi bir küçültücü kullanabilirsiniz üretimi için simge durumuna küçültülmüş bir versiyonunu yarattı. Örneğin Microsoft Ajax Minifier 4.0 kullanıyorum. Sadece yükleyin ve çalıştırın

AjaxMin.exe jquery.jqGrid.src-fixed3.js -o jquery.jqGrid.min-fixed3.js

Sonuç olarak, orijinal olarak daha küçük olacak jquery.jqGrid.min-fixed3.js jquery.jqGrid.min.js alacak. Eğer açıklama dosyası (modified file) başlık eklerseniz daha dosya jquery.jqGrid.min.js orijinal sürümü olarak hala daha küçük olacak.

bug report the improvements benim bazı tekrarlamalar sonra yöntemi cellWidth başlanan düzeltmenin bir tane daha versiyonu var:

cellWidth : function () {
    var $testDiv = $("<div class='ui-jqgrid' style='left:10000px'><table class='ui-jqgrid-btable' style='width:5px;'><tr class='jqgrow'><td style='width:5px;'></td></tr></table></div>"),
        testCell = $testDiv.appendTo("body")
            .find("td")
            .width();
        $testDiv.remove();
        return testCell !== 5;
}

here bkz. Eğer bu yolu takip etmek isterseniz bunu da yapabilirsiniz. isSafari $.browser.webkit || $.browser.safari (showHideCol setGridWidth) kullanıldığı her yerde bu durumda $.jgrid.cellWidth() yerine kullanabilirsiniz.

3 GÜNCELLENDİBugün yukarıda açıklanan düzeltmeyi içeren jqGrid 4.3.3 (cellWidth yöntemi) yayınlandı. Yeni sürümünü kullanmak için tavsiye ederim.

GÜNCELLEME 4:Google Chrome 20 Y 536.11 kullanır. Bu yüzden herkes yapamaz kullanın son sürümü jqGrid ile sabit hesaplama genişliği kullanmanız gerekir parseFloat($.browser.version)<536.11 (veya yakın) yerine parseFloat($.browser.version)<536.5 açıklanan başında cevap. Google Chrome 23 Y 537.11 kullanır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • expertvillage

    expertvillag

    5 NİSAN 2006
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009