小编use*_*716的帖子

C#Reload Systems环境变量

当我启动C#进程时,系统环境变量会被其他一些进程更改.所以我想将环境重新加载到我的进程中,因为这个应用程序也启动了需要拥有过时环境的子进程.这是我试图获取和设置环境变量的方式:

Dictionary<String,String> uservars= new Dictionary<String,String>();
  Dictionary<String, String> sysvars = new Dictionary<String, String>();
  foreach (System.Collections.DictionaryEntry de in System.Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Machine))
    sysvars.Add(de.Key.ToString().ToUpper(),de.Value.ToString());

  foreach (System.Collections.DictionaryEntry de in System.Environment.GetEnvironmentVariables(EnvironmentVariableTarget.User))
  {
    uservars.Add(de.Key.ToString().ToUpper(), de.Value.ToString());
  }
  Dictionary<string, string> newdict = new Dictionary<string, string>();
  foreach (KeyValuePair<String, String> kvp in uservars)
  {
    if (sysvars.ContainsKey(kvp.Key))
    {
      newdict.Add(kvp.Key, kvp.Value + ";" + sysvars[kvp.Key]);
      sysvars.Remove(kvp.Key);
    }
    else
      newdict.Add(kvp.Key, kvp.Value);
  }
  foreach (KeyValuePair<string, string> kvp in sysvars)
    newdict.Add(kvp.Key, kvp.Value);

  foreach (KeyValuePair<string, string> kvp in newdict)
  {
    System.Environment.SetEnvironmentVariable(kvp.Key, kvp.Value);
  }
Run Code Online (Sandbox Code Playgroud)

问题是,我得到的环境变量与System.Environment.GetEnvironmentVariables(EnvironmentVariableTarget.User)我的应用程序启动时的变量相同.但那不是更新变量.

有没有办法直接从系统中获取这些变量.

.net c# environment-variables

5
推荐指数
1
解决办法
3411
查看次数

jQuery Datatable:使用search()匹配记录的数量

我正在搜索我的数据表

以下声明:

var dataTable =  $(#dt).DataTable().search("searchpattern");
dataTable.draw();
Run Code Online (Sandbox Code Playgroud)

所以一切都很好,数据表只显示与searchpattern匹配的条目.

但我如何确定,有多少条目与模式匹配?

我尝试过以下方法:

dataTable.rows().nodes().length;
Run Code Online (Sandbox Code Playgroud)

但返回的始终是所有记录的数量,而不是匹配记录的数量.感谢您的建议!

jquery datatables jquery-datatables

4
推荐指数
2
解决办法
6299
查看次数

POI删除单元格的背景颜色

我正在从一个单元格复制一个单元格样式,以将其用于许多其他行:

        HSSFCellStyle styleHdr = workbook.createCellStyle();
        if ( styleHeader != null)
            styleHdr.cloneStyleFrom(styleHeader);
        String regexNumbers = "(^[0-9]+[.]{0,1}[0-9]*$)";
        String regNatZahl = "(^[0-9]+$)";

        CellStyle numericStyle = workbook.createCellStyle();
        numericStyle.setDataFormat((short) 0);
        HSSFFont font= workbook.createFont();
        font.setBoldweight((short) 0);
        styleHdr.setBorderLeft(CellStyle.BORDER_NONE);
        styleHdr.setBorderRight(CellStyle.BORDER_NONE);
        styleHdr.setBorderBottom(CellStyle.BORDER_THIN);
        styleHdr.setBorderTop(CellStyle.BORDER_NONE);
        styleHdr.setFont(font);
        styleHdr.setFillBackgroundColor(new HSSFColor.WHITE().getIndex());
Run Code Online (Sandbox Code Playgroud)

styleHeader的背景颜色为灰色,但是

styleHdr.setFillBackgroundColor(new HSSFColor.WHITE().getIndex());
Run Code Online (Sandbox Code Playgroud)

没有效果.其实我想删除backgroundColor而不是将其设置为白色.这也有可能吗?

谢谢你的建议!

java excel apache-poi

0
推荐指数
1
解决办法
2551
查看次数