r:rownames=FALSE禁用编程行选择

r:rownames=FALSE禁用编程行选择,r,shiny,dt,R,Shiny,Dt,在我正在构建的一个闪亮的应用程序中,我有一个编程行选择“功能”。用户通过单击地图来放置标记,渲染的数据表将显示有关标记的信息。当用户单击现有标记时,将选择数据表中的适用条目(默认情况下高亮显示) 我发现当使用rownames=FALSE时,编程行选择功能似乎被禁用。只要不使用这个选项,它就可以正常工作,但是我得到了数据表中显示的rownames列的不希望的效果。想知道我是否做错了什么 在下面的代码中,rv$markers是一个反应变量,用于存储有关标记的信息selectedMarker是与单击的

在我正在构建的一个闪亮的应用程序中,我有一个编程行选择“功能”。用户通过单击地图来放置标记,渲染的数据表将显示有关标记的信息。当用户单击现有标记时,将选择数据表中的适用条目(默认情况下高亮显示)

我发现当使用
rownames=FALSE
时,编程行选择功能似乎被禁用。只要不使用这个选项,它就可以正常工作,但是我得到了数据表中显示的rownames列的不希望的效果。想知道我是否做错了什么

在下面的代码中,
rv$markers
是一个反应变量,用于存储有关标记的信息
selectedMarker
是与单击的标记相对应的
rv$markers
行的名称

updateMarkerList <- function(selectedMarker=NULL) {

  output$markerList <- DT::renderDataTable(

    expr = {
      if(!(nrow(rv$markers))) return() # No rendering if no markers

      data <- rv$markers[,c("id","lat","lng","juris")]
      data
    },

    selection=list(mode='single', selected=as.character(selectedMarker)),
    #rownames=FALSE #rows will not be selected when markers are clicked if this is "on"
    style="bootstrap",
    class="compact",
    caption='Marker List',
    options=list(dom='tp'),
    colnames=c("ID","Lat","Lon","City")

  )

}

updateMarkerList只是一个猜测,尝试使用传递给
renderDataTable
的所有参数(如
rownames
集)创建一个反应式
datatable
,而不是在一个renderDataTable中执行数据步骤和datatable选项