我有一個可以生成數據表的Shiny應用程序,但是我無法凍結第一列和標題,因此表格很難閱讀,跨越。無論如何要凍結窗格?我嘗試過搜索,但沒有發現任何東西。在Shiny中使用data.table凍結標題和第一列
回答
有趣的問題,現在感謝最近更新的閃亮data.tables 1.10.2
它是很容易使用各種插件和擴展。對於你的問題FixedHeader擴展似乎是理想的。要添加此擴展,我們需要包括相關JavaScript
和CSS
文件(見http://cdn.datatables.net/):
tagList(
singleton(tags$head(tags$script(src='//cdn.datatables.net/fixedheader/2.1.2/js/dataTables.fixedHeader.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdn.datatables.net/fixedheader/2.1.2/css/dataTables.fixedHeader.css',rel='stylesheet',type='text/css')))
)
data.tables
有一個選項initComplete
這使我們能夠一次表繪製等規定回調
function(settings, json) {
new $.fn.dataTable.FixedHeader(this, {
left: true,
right: true
});
}
我們將使用iris
數據集的修改版本,在末尾添加索引和一些隨機數據以顯示從左到右的滾動:
library(shiny)
myData <- cbind(list(index = row.names(iris)), iris
, rep(list(row.names(iris)), 10))
names(myData)[7:16] <- paste0("randomData", 1:10)
runApp(
list(ui = fluidPage(
tagList(
singleton(tags$head(tags$script(src='//cdn.datatables.net/fixedheader/2.1.2/js/dataTables.fixedHeader.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdn.datatables.net/fixedheader/2.1.2/css/dataTables.fixedHeader.css',rel='stylesheet',type='text/css')))
),
dataTableOutput("mytable")
)
, server = function(input, output, session){
output$mytable <- renderDataTable(myData,
options = list(
pageLength = 50,
initComplete = I("function(settings, json){
new $.fn.dataTable.FixedHeader(this, {
left: true,
right: true
});
}")
)
)
})
)
所以在圖片中,我們可以看到我們正在向下滾動到記錄8,並且在某些方面,但標題和第一列(我們添加的索引列)仍然可見。
快樂幫,如果答案解決了你的問題可以考慮通過勾選它來接受它。 – jdharrison 2014-10-07 15:52:17
非常感謝您的幫助!有沒有辦法可以凍結第一列的標題,所以當我向右滾動時可見? – Kamal 2014-10-07 15:56:32
遵循'dataTables'文檔和您非常詳細的答案,我嘗試了我的一個閃亮應用中的'FixedColumns'插件。我在我的頭文件中包含了'fixedcolumns/3.0.2' css和js文件以及'dataTables 1.10.4' css和js文件,並在我的選項中包含了'initComplete',並做了如下小改動:'function(settings, json){$ {$} .fn.dataTable.FixedColumns(this,{}); }'。但是,當我運行該應用程序時,表格一直顯示「processing ...」消息,並未按預期加載。我目前正在使用最新的閃亮發佈,0.11。思考? – 2015-01-31 17:29:42
FixedHeader不工作,給人然而X-滾動, 但FixedColumns作品錯列名。正是由於他們
library(shiny)
library(DT)
runApp(
list(ui = fluidPage(
dataTableOutput("mytable")
)
, server = function(input, output, session){
Rows <- c(1:50)
for (y in 1:15){
x<-y-1
assign(letters[x+1],runif(5, 0, 1))
}
x <- data.frame(Rows, mget(letters[1:15]), row.names=NULL)
x<- x[2:15]
output$mytable <- renderDataTable(
DT::datatable(x, rownames=FALSE,extensions = c('FixedColumns',"FixedHeader"),
options = list(dom = 't',
scrollX = TRUE,
paging=FALSE,
fixedHeader=TRUE,
fixedColumns = list(leftColumns = 1, rightColumns = 0))
)
)
}
)
)
- 1. GridView:凍結第一列和凍結列的標題
- 2. 使用凍結列和凍結標題創建表/網格
- 3. 在MediaWiki表中凍結(鎖定)第一行(標題)
- 4. 我們怎樣才能凍結HTML表第一欄和標題
- 5. 凍結DataGridView中的第一列C#
- 6. CSS:凍結表格標題和第一列,*但僅限於某些軸*
- 7. 在ASP GridView中凍結列/標題Chrome和IE9 +
- 8. 凍結標題中的GridView
- 9. 嵌套表:凍結第一列
- 10. 如何凍結表格的第一列?
- 11. 滾動時凍結列標題
- 12. 展望2010凍結列標題
- 13. 在ASP.NET中凍結GridView標題?
- 14. 凍結IE 6.0和IE 7.0中的列標題
- 15. 在Shiny Dashboard中設置標題/標題
- 16. GridView與凍結標題和PagerTemplate
- 17. SSRS凍結列和行在一起
- 18. 水平和垂直GridView與凍結標題和列
- 19. GROUPBY在data.table:使用第一值
- 20. SQLite的光標凍結在第一次調用
- 21. 凍結C#.net標籤控件中的第一個標籤頁
- 22. 我想在wordpress中凍結標題部分(標題,標識等)
- 23. 凍結問題使用Parallel.ForEach
- 24. 凍結列和行
- 25. GridView凍結標題行
- 26. 凍結標題,滾動GridView
- 27. Datagridview凍結標題行
- 28. 在另一個data.table中使用lookup data.table
- 29. 在SSRS中滾動時凍結列標題
- 30. 滾動時在瀏覽器中凍結列標題
之間incompatibility繼最近閃亮更新,你可以嘗試在這裏,看看排序選項可供選擇https://datatables.net/upgrade/1.10-convert – 2014-10-07 07:24:01