如何在ASP.Net MVC5中隐藏具有条件的jquery数据表行?(How to hide jquery datatable Rows with conditions in ASP.Net MVC5?)
在Asp.net上工作mvc5。在我的项目视图中jquery datatable,想要动态隐藏有条件的行,隐藏行后如何检索这个隐藏的行值。
是否可以在Jquery Datatable中使用?
注意: 此链接向我展示了如何使用列而不是如何使用行
Work on Asp.net mvc5.In my project view jquery datatable, want to dynamically hide rows with condition,after hide row how to retrieve this hidden rows values.
Is it possible in Jquery Datatable?
Note: this link shows me how to work with column not get yet how to work with rows
原文:https://stackoverflow.com/questions/35472704
最满意答案
编辑看到这个相关的问题的一些简化和扩展在这个基本的想法。
我对布兰登使用
switch
的回答发表评论:convert.magic <- function(obj,types){ for (i in 1:length(obj)){ FUN <- switch(types[i],character = as.character, numeric = as.numeric, factor = as.factor) obj[,i] <- FUN(obj[,i]) } obj } out <- convert.magic(foo,c('character','character','numeric')) > str(out) 'data.frame': 10 obs. of 3 variables: $ x: chr "1" "2" "3" "4" ... $ y: chr "red" "red" "red" "blue" ... $ z: num 15254 15255 15256 15257 15258 ...
对于真正的大数据框,您可能想使用
lapply
而不是for
循环:convert.magic1 <- function(obj,types){ out <- lapply(1:length(obj),FUN = function(i){FUN1 <- switch(types[i],character = as.character,numeric = as.numeric,factor = as.factor); FUN1(obj[,i])}) names(out) <- colnames(obj) as.data.frame(out,stringsAsFactors = FALSE) }
在做这件事时,要注意R中强制数据的一些复杂性。例如,从因子转换为数字通常涉及
as.numeric(as.character(...))
。 此外,请注意data.frame()
和as.data.frame()
将字符转换为factor的默认行为。Edit See this related question for some simplifications and extensions on this basic idea.
My comment to Brandon's answer using
switch
:convert.magic <- function(obj,types){ for (i in 1:length(obj)){ FUN <- switch(types[i],character = as.character, numeric = as.numeric, factor = as.factor) obj[,i] <- FUN(obj[,i]) } obj } out <- convert.magic(foo,c('character','character','numeric')) > str(out) 'data.frame': 10 obs. of 3 variables: $ x: chr "1" "2" "3" "4" ... $ y: chr "red" "red" "red" "blue" ... $ z: num 15254 15255 15256 15257 15258 ...
For truly large data frames you may want to use
lapply
instead of thefor
loop:convert.magic1 <- function(obj,types){ out <- lapply(1:length(obj),FUN = function(i){FUN1 <- switch(types[i],character = as.character,numeric = as.numeric,factor = as.factor); FUN1(obj[,i])}) names(out) <- colnames(obj) as.data.frame(out,stringsAsFactors = FALSE) }
When doing this, be aware of some of the intricacies of coercing data in R. For example, converting from factor to numeric often involves
as.numeric(as.character(...))
. Also, be aware ofdata.frame()
andas.data.frame()
s default behavior of converting character to factor.
相关问答
更多-
编辑看到这个相关的问题的一些简化和扩展在这个基本的想法。 我对布兰登使用switch的回答发表评论: convert.magic <- function(obj,types){ for (i in 1:length(obj)){ FUN <- switch(types[i],character = as.character, numeric = as.numeric, ...
-
您实际上使用此数据类型手动将矢量类型嵌套到结构中: new StructField("bla", new VectorUDT(), false, Metadata.empty()), 如果删除外部StructField,您将获得所需的内容。 当然,在这种情况下,您需要修改函数定义的签名。 也就是说,您需要使用Vector类型返回。 请参阅下面我的简单JUnit测试形式的具体例子。 package sample.spark.test; import org.apache.spark.api.java.Ja ...
-
数据帧的多次转换(Multiple shifts on dataframe)[2022-07-18]
首先创建具有过滤掉0值的Series : #for columns need shape[1] nCols = df.shape[1] nShiftsPerCol = np.zeros(nCols) nShiftsPerCol[0]=3 # shift column A 3 times nShiftsPerCol[2]=2 # shift column C 2 times print (nShiftsPerCol) s = pd.Series(nShiftsPerCol, df.columns).ast ... -
我认为combine_first将是一个优雅的解决方案,根据JohnE,您可以将Display Name设置为索引。 这让我想到另一点。 我认为只有当“显示名称”对应于每个表中的一组属性时,您的任务才能明确定义。 假设你可以删除重复项,设置索引并使用.update如下所示: df1 = df1.drop_duplicates() df1 = df1.set_index('Display Name') df2 = df2.set_index('Display Name') df2_c = df2.copy ...
-
您可以使用: In [12]: ex_df.assign( ...: b=ex_df.b.str.replace('-', ''), ...: c=ex_df.b.str[0], ...: d=ex_df.b.str[0] + ex_df.a.astype(str) ...: ) Out[12]: a b c d 0 1 ab a a1 1 2 cd c c2 2 3 ef e e3 3 4 gh g ...
-
你可以创建一个带有两列的udf并执行你的逻辑: val isMatchedCREDITDEBIT = udf((credit_account_id: String, debit_account_id: String) => { credit_account_id == debit_account_id }) 可以在when子句中调用 when(isMatchedCREDITDEBIT(df("credit_account_id"), df("debit_account_id")), "MATCHING ...
-
你可以试试这个 df.loc[:, 'q1':'q19'] = df.loc[:, 'q1':'q19'].astype(int) you can try this df.loc[:, 'q1':'q19'] = df.loc[:, 'q1':'q19'].astype(int)
-
示例从excel中获取保存为csv的日期。 In [18]: df Out[18]: a b c 0 1/1/17 1/1/17 1/1/17 1 1/2/17 1/2/17 1/2/17 2 1/3/17 1/3/17 1/3/17 7 1/8/17 1/8/17 1/8/17 8 1/9/17 1/9/17 1/9/17 9 1/10/17 1/10/17 1/10/17 使用强制来避免像 ...
-
pandas.melt函数可以执行您想要的操作: pd.melt(df, id_vars=['weight'], value_vars=['a1_P', 'a2_P'], value_name='P') weight variable P 0 14733.23 a1_P 33297.81 1 86954.04 a1_P 58895.18 2 14733.23 a2_P 17407.93 3 86954.04 a2_P 43013.57 ...
-
对于您的示例数据集,这将起作用; 选项1,命名要更改的列: dat[which(dat$desc == "blank"), c("x", "y", "z")] <- NA 在具有40列的实际数据中,如果您只想将最后的39列设置为NA,那么以下内容可能比命名每个要更改的列更简单; 选项2,使用范围选择列: dat[which(dat$desc == "blank"), 2:40] <- NA 选项3,排除第1列: dat[which(dat$desc == "blank"), -1] <- NA 选项4 ...