1
데이터 테이블에서 일부 값은 해당 행의 선택 여부에 따라 변경됩니다. 나에게 두통을 일으키는 원인은 다음과 같습니다. 데이터가 업데이트되면 테이블이 다시 쓰여지고 선택이 사라집니다.Shiny DT :: datatable - 선 선택시 테이블 내용 변경
나는이 문제를 두 시간 동안 해결해 왔지만 해결책을 찾지 못했습니다. 대부분의 시간 stackoverflow에서 내 문제에 대한 해결책을 찾았지만, 이번에는 그렇지 않았습니다.
아래 예제에서 마지막 열은 행의 선택 상태를 나타냅니다. 선택한 행을 추적하고 표가 다시 작성 될 때마다 미리 선택하려고했습니다. 하지만 어떻게 작동시키는 지 알 수는 없었습니다. 코드가 작동하지 않지만 (희망을 갖고) 내가 필요한 것을 보여줍니다. 그런데
library(shiny)
library(DT)
mymtcars = mtcars[1:5, 1:2]
runApp(
list(ui = fluidPage(DT::dataTableOutput("mytable")),
server = function(input, output, session) {
rowSelect <- reactive({
a <- rep(FALSE,5)
a[input$mytable_rows_selected] <- TRUE
return(a)
})
output$mytable = DT::renderDataTable(
cbind(mymtcars, v=rowSelect()),
options = list(dom="t",
ordering=FALSE),
selection=list(mode='multiple',
selected=(1:5)[rowSelect()],
target='row')
)
})
)
는 덜 우아한 아니라 가능한 방법 대신에 데이터 테이블 행 선택 메커니즘의 체크 박스의 항목을 추가 할 것이다. 나는 또한 그것을 시도했지만 비슷한 문제가 있었다. 모든 것이 데이터에 반응성 열을 추가 할 때까지 원하는 방식대로 작동했습니다.
가 미안 유용한 답변을 투표 할 수 있습니다 ? – Hans
@Hans 데이터 시트에'selected = "all"' – PoGibas
과 같은 옵션이 있어야합니다.이 옵션은 이미 테이블을 다시 작성하기 전의 이전 선택을 기억하기 위해 이미 사용되고 있기 때문에 까다 롭습니다. "selected"를 "not selected"로 해석하고'v =! rowSelect()'를 사용하여 그 반대의 경우도 마찬가지입니다. 그러나이 방법으로 "속임수"하지 않는 것이 더 멋지다고 생각합니다.하지만 어쨌든, 정말 고맙습니다. 나를 크게 도왔다. – Hans