小编Sna*_*yes的帖子

在C#中刷新TreeView后展开所选节点

我有很多项目的树视图

当我展开项目及其子项时,在我调用刷新方法后,该扩展项目子项将变为折叠状态.

你能告诉我如何存储选定的节点,刷新后再次调用Expand方法......

我试过了 :

 TreeNode selectedNode = new TreeNode();
 TreeNode selectedNode = SelectedTreeNode();  //method which takes selected node from TV
 RestoreFolderTreeWithLastSelectedItem(); //method which initialise treeview object
 //here I want to call Expand() method but it not exists to TreeNode.
Run Code Online (Sandbox Code Playgroud)

对于treeview,我使用Windows.Controls.treeView命名空间我是初学者...谢谢

我会通过图片向您解​​释

我扩展了所有项目: 在此输入图像描述

如果我按F5或调用刷新功能(RestoreFolderTreeWithLastSelectedItem();),它们将折叠如下:

在此输入图像描述

而不是第一张图片......

c# treeview

2
推荐指数
1
解决办法
1万
查看次数

在SQL Server 2005中显示UNION语句的每一列

我有这些简单的SQL语句:

SELECT     COUNT(ID) AS Expr1
FROM         Table1
UNION
SELECT     COUNT(ID) AS Expr2
FROM         Table1 AS Table1_1
WHERE     (UPDATED > CREATED)
UNION
SELECT     COUNT(DISTINCT DATEPART(year, UPDATED)) AS Expr3
FROM         Table1 AS Table1_2
Run Code Online (Sandbox Code Playgroud)

我想将结果显示为:

Expr1     Expr2    Expr3
-----     -----    -----
5           3         2
Run Code Online (Sandbox Code Playgroud)

怎么做 ?据我所知,这UNION比使用ORin WHERE子句更可靠,更快.

sql sql-server sql-server-2005

2
推荐指数
1
解决办法
229
查看次数

创建在C#中解析枚举的函数

我知道要将字符串解析为特定的enum:

enum AnEnumType 
{
   TEST_,
   OTHER_TEST_,
   OTHERS_
}

enum OtherEnumType 
{
   TEST1_,
   OTHER_TEST1_,
   OTHERS1_
}


string aValueString = "TEST_";

AnEnumType result = (AnEnumType)Enum.Parse(typeof(AnEnumType), aValueString);
Run Code Online (Sandbox Code Playgroud)

所以,我想创建一个函数,一个使用解析器的泛型函数,enum如:

public Type ConvertStringToAnEnum(string value, Type anyType){

return (anyType)Enum.Parse(typeof(anyType), aValueString);
}
Run Code Online (Sandbox Code Playgroud)

但我猜这不行......

如何使解析在函数中指定为参数的任何枚举类型的函数?

我喜欢打电话 OtherEnumType result = ConvertStringToAnEnum("TEST1_", OtherEnumType)

c#

2
推荐指数
1
解决办法
147
查看次数

使用javascript从数组访问元素名称(无值)

对不起,如果我的问题不好.我陷入了以下简单的javascript代码:

var person={fname:"John",lname:"Doe",age:25};

for (x in person)
{
document.write(person[x] + " ");
}
Run Code Online (Sandbox Code Playgroud)

上面的代码结果是:John Doe 25

你如何只显示lname元素的价值?(附for (... in ...)声明)

我不想使用person={"John","Doe",25}而不是上述之一.我想知道如何从数组访问元素以获取值.

谢谢

编辑:感谢大家的回复.这个问题是因为我在数组中有很多项目而创建的:

        [{Name="A 1", Email="a1@manufacturer.com", Group="Group1"},
        {Name="A 2", Email="a2@manufacturer.com", Group="Group2"},
        {Name="A 3", Email="a3@manufacturer.com", Group="Group3"},
        {Name="B 1", Email="b1@manufacturer.com", Group="Group1"},
        {Name="V 1", Email="b1@manufacturer.com", Group="Group2"},
        {Name="X 1", Email="b1@manufacturer.com", Group="Group4"},
        {Name="Y 1", Email="b1@manufacturer.com", Group="Group3"},
        {Name="Z 1", Email="b1@manufacturer.com", Group="Group3"},
        {Name="W 1", Email="b1@manufacturer.com", Group="Group6"}]
Run Code Online (Sandbox Code Playgroud)

我想迭代这个数组并将该元素与我拥有的值进行比较. if object1.Group == 'Group3' { code }

javascript

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

使用C#中的参数进行查询(使用SQL Server)

我在C#中查询有问题.

我有这部分代码:

string query1 = @"
            SELECT TOP @howManyRows * FROM
            (
            SELECT
               PRODUCTCODE_.ID_ AS PRODUCTCODE_ID_,
               PRODUCTCODE_.CATEGORY_ AS CATEGORY_,
               PRODUCTCODE_.DESCRIPTION_ AS DESCRIPTION_,
               PRODUCTCODE_.MANUFACTURER_ AS MANUFACTURER_,
               PRODUCTLINE_.CREATION_DATE_ AS CREATION_DATE_,
               ROW_NUMBER() OVER (ORDER BY PRODUCTCODE_.CATEGORY_) AS ROWNUMBER_,
               TOTALROWS_ = COUNT(*) OVER()
            FROM
               PRODUCTCODE_
            INNER JOIN
               PRODUCTLINE_ ON PRODUCTLINE_.ID_ = PRODUCTCODE_.PRODUCTLINE_ID_        
            ) _tmpList
            WHERE 
               ROWNUMBER_ >= @startingWith
               ORDER BY CATEGORY_
            ";


SqlParameter param1 = new SqlParameter();
param1.ParameterName = "@howManyRows";
param1.Value = resultPerPage; //`resultPerPage` is an integer function parameter

SqlParameter param2 = new SqlParameter(); …
Run Code Online (Sandbox Code Playgroud)

c# sql-server asp.net

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

如何将上传的文件从javascript发送到MVC中的控制器?

在我的MVC中,我有一个视图,它包含一个文件上传控件和一个按钮.

 <input type="file" id="Uploadfile" />
 <input type="button" onclick()="GetFile();/>
Run Code Online (Sandbox Code Playgroud)

Javascript函数如下

  function GetFile()
  {
      var file_data = $("#Uploadfile").prop("files")[0];
      window.location.href="Calculation/Final?files="+file_data;
  }
Run Code Online (Sandbox Code Playgroud)

我需要通过fileupload控件将所选文件传递/发送到mvc中的控制器.我有控制器

public ActionResult Final(HttpPostedFileBase files)
  {
     //here i have got the files value is null.
  }
Run Code Online (Sandbox Code Playgroud)

如何获取所选文件并将其发送到控制器?Plz帮我解决了这个问题.

javascript c# asp.net-mvc asp.net-mvc-3

1
推荐指数
1
解决办法
3万
查看次数

当我触发一个事件时,它会在jQuery中输入几次而不是一次

我有以下HTML代码,简单的一个:

<input type="text" />
<input type="hidden" />
<input type="button" value="ok" />
Run Code Online (Sandbox Code Playgroud)

和javascript:

$(function(){
    $(":text").on("keyup", function(){
        $(":hidden").val($(this).val()).trigger("propertychange");
    });

    $(":hidden").on("propertychange", function(){
       alert($(this).val()); 
    });

    $(":button").on("click", function(){
        alert($(":hidden").val()); 
    });
});
Run Code Online (Sandbox Code Playgroud)

当我在输入类型中键入内容时,text警报会显示几次而不是一次.

怎么解决?

jsFiddle.(我用Firefox检查过)

html javascript jquery

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

使用Xamarin C#创建可绑定属性,找不到属性,找到可绑定属性

我创建了一个派生自StackLayout以下的类:

public class MyStackLayout : StackLayout
{
    private readonly BindableProperty TriggerTypeProperty = BindableProperty.Create("TriggerType", typeof(string), typeof(MyStackLayout), defaultValue: "test", propertyChanged: (b, o, n) => OnTriggerTypePropChanged(b, (string)o, (string)n));

    public string TriggerType
    {
      get
      {
        return (string)GetValue(TriggerTypeProperty);
      }
      set
      {
        SetValue(TriggerTypeProperty, value);
      }
    }

    private static void OnTriggerTypePropChanged(BindableObject bindable, string oldvalue, string newvalue)
    {
      var obj = bindable as MyStackLayout;
      if (obj == null)
      {
        return;
      }

      obj.TriggerType = newvalue;
    }
}
Run Code Online (Sandbox Code Playgroud)

在XAML中:

<controls1:MyStackLayout IsVisible="False" TriggerType="{Binding AStringPropertyFromViewModel}">
   ...
</controls1:MyStackLayout>
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

没有找到"TriggerType"的属性,可绑定属性或事件,或者值和属性之间的类型不匹配.

怎么了 …

c# xamarin.forms

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

将一组字符串常量用于类或结构中,并将其用作方法 C# 的参数

我有一个类似的语言列表

public ??struct?? Language {
    Arabic = "ar"
    Brazilian = "br"
    Bulgarian = "bg"
    Cantonese = "hk"
    Croatian = "hr"
    Czech = "cz"
    Danish = "dk"
    Dutch = "nl"
    English = "uk"
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想在这些语言中使用结构体,Language并将其用作方法中的参数

void SetLanguage(Language lang) {
   if(lang == Language.Arabic) { ... }
}
Run Code Online (Sandbox Code Playgroud)

不能使用枚举,因为它们只接受整数值。我从来没有使用过结构,也不知道如何实现我的目标......

如果有不清楚的地方,请告诉我。

c#

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

仅使用 bash 获取 Ubuntu 版本号

我执行命令cat /etc/os-release以获取类似的信息

NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Run Code Online (Sandbox Code Playgroud)

我只想从18.04VERSION_ID

我试过

cat /etc/os-release | grep VERSION_ID=
Run Code Online (Sandbox Code Playgroud)

返回

VERSION_ID="18.04"
Run Code Online (Sandbox Code Playgroud)

我不知道如何取那个版本号。可以建议我怎么做吗?

bash ubuntu

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