Bazı 20 sütuna sahip bir .net veri kılavuzum var. Javascript kullanarak bir düğmenin tıklanması temelinde bir sütunun görünürlük düzeyine ihtiyacım var. Herhangi bir fikir?Javascript ile bir datagrid sütunu saklıyor musunuz?
cevap
aksi takdirde üzerinde korkunç verimsiz olacaktır her satır, her hücreyi bir stil uygulamak zorunda ve büyük olasılıkla asmak, bunun için COLGROUP kullanmak istiyorum Tarayıcı, özellikle ızgara büyükse. Üçüncü taraf bir kütüphaneye (jQuery) dayanan yukarıda bahsedilen cevapların tümü, yavaş/tembel bir şekilde yapıyor. Tüm Javascript istemci tarafında çalıştığından, verimlilik söz konusu olduğunda muhtemelen daha fazla düşünmek isteyebilirsiniz.
function hideColumns(tableId, colIndexArray) {
var tbl = document.getElementById(tableId);
if(!tbl) return;
var rows = tbl.getElementsByTagName("TBODY");
if(rows.length == 0)
rows = tbl.getElementsByTagName("TR");
else
rows = rows[0].getElementsByTagName("TR");
var cols = rows[rows.length - 1].getElementsByTagName("TD");
var colgroup = document.createElement("COLGROUP");
for(var i = 0, l = cols.length; i < l; i++) {
var col = document.createElement("COL");
for(var num in colIndexArray) {
if(colIndexArray[num] == i) {
if(document.all)
col.style.display = 'none'
else
col.style.visibility = 'collapse';
break;
}
}
colgroup.appendChild(col);
}
tbl.insertBefore(colgroup, tbl.childNodes[0]);
}
böyle kullanın
İşte
ya gitmek ... ...
var columnsToHide = [0, 1, 2]; // hide the first 3 columns
var tableId = "tableIdHere"; // view the source of your page to get this
hideColumns(tableId, columnsToHide);
IE7 ve FF3 test:
Hide Table Columns Using Javascript
Kullanım jQuery! Bu harika.
Bağlantınız şöyle olabilir:
<a href="javascript:ToggleColumn();">Toggle My Column</a>
Sizin javascript fonksiyonu şöyle olabilir:
function ToggleColumn()
{
$(".myColumn").toggle();
}
istenen sütunda üretilen Her öznitelik class = "Sütunum" sahip olmak zorunda kalacaktır javascript'iniz onu bulabilir.
<asp:TemplateColumn runat="server">
<ItemStyle CssClass="myColumn" />
</asp:TemplateColumn>
Ve son olarak, bu gibi bir yerde senin başlık dosyasında jQuery bir bağlantı eklemeyi unutmayın: Bunu yapmak için, aşağıdaki gibi, DataGrid'in istenen sütununa bir <ItemStyle />
unsur ekleyebilir
<script src="/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
'sütunu' gerçekten bir HTML değil bunun gibi geçiş yapabileceğiniz eleman. – SolutionYogi
@SolutionYogi: Elbette öyle! JQuery seçici, myColumn sınıfını arıyor. Bu kod harika çalışıyor! :) – JerSchneid
Oldukça değil. ASP.NET'in yapacağı şey, bu sütun için her TD'ye .myColumn sınıfını koymaktır. Böylece, bu bireysel TD'lerin her biri değişecektir. Günah olarak çirkin, ama işe yaramalı. – Randolpho
Kişisel görüşüm JQuery'yi kullanmak olacaktır.
Sütunu bulmak için seçiciyi kullanın ve stile bir 'hidden: true' ekleyin. Bu saf bir JS çözümüdür.
bu jQuery eklentisi bak,
http://p.sohei.org/jquery-plugins/columnmanager/
sayfanızda Bu eklentiyi dahil edin ve bağlantının tıklama olayı diyoruz.
Jquery'yi başkalarının önerdiği gibi kullanın ... bunun gibi bir seçici bir şey yapmalıdır. Bu aslında sütun saklasın 3.
$('table.tableCSS tr').find('td:eq(2)').hide(); // eq(index)
- 1. Yardımcı sınıflarınızı ayrı bir derlemede saklıyor musunuz?
- 2. WPF Datagrid Sütunu nasıl odaklanır?
- 3. Codebehind öğesindeki ITemplate ve DataGrid Sütunu
- 4. Kullanıcı Biçimlendirdiği gibi DataGrid Sütunu Biçimlendir
- 5. DataGrid sütunu C# kodundan nasıl genişletilir?
- 6. PHP security: bağlantı ayrıntılarını sabit veya özel mülklerde saklıyor musunuz?
- 7. DataGrid
- 8. Winforms DataGrid denetimi için bir köprü sütunu ekleme
- 9. DataGrid Şablon örneği, xceed Datagrid Şablonu ile
- 10. Can Datagrid sütunu, farklı satırlarda farklı denetim türleri içerir.
- 11. Modelinizi Angular'de nerede saklıyor/yaratıyorsunuz?
- 12. Django Güncellemeleri Javascript Dosyalarına Yansıtmıyor musunuz?
- 13. Javascript tabletteki tuş basımlarını okuyor musunuz?
- 14. WPF DataGrid stili-Silverlight DataGrid?
- 15. Disqus, Yorumlarınızı saklıyor mu?
- 16. Subversion ile diffstat kullanıyor musunuz?
- 17. EPPLUS Excel Kitaplığı ile bir sütunu biçimlendirme
- 18. RDD'de herhangi bir işlem emri saklıyor mu?
- 19. datagrid satır
- 20. Javascript kullanarak tek bir tablo sütunu nasıl toplamlanır?
- 21. Bir dosyadaki sütunu, awk kullanarak başka bir sütunu kullanarak değiştirin.
- 22. Bir sütunu, ayrı() tidyr
- 23. Değişken satır yükseklikleri ile WPF DataGrid
- 24. MongoDB gps konum verilerini saklıyor
- 25. node.js gamestate'ı nasıl saklıyor, nasıl?
- 26. Sil tuşu ile DataGrid satır silme
- 27. Eclipse, klavye bağlantılarını nerede saklıyor?
- 28. WordPress HTML sayfalarını nerede saklıyor?
- 29. Datagrid: Footer
- 30. Datagrid filtrelenmiyor
JQuery kullanılmadan doğru bir cevap verin. +1 – epascarello
Datagrids colgroups yaymaz. – Randolpho
LOL! Evet, bu yüzden onları DOM'a enjekte etmek için Javascript kullanıyorum. Aşağı oylama, sadece anlamıyorsun çünkü! –