小编ixo*_*ora的帖子

如何动态填充树视图(C#)

我有一个包含3列的表,ID,Name和ParentID.ID列包含运行编号,该编号也用作主键.ID也将是节点的Name属性.Name列包含将成为treenode的Text属性的字符串,而ParentID是包含节点的父ID的列.

这是我的表格的样子:

ID     Name   ParentID
======================
1      A      0
2      A1     1
3      B      0
4      C      0
5      A2     1
6      B1     3
Run Code Online (Sandbox Code Playgroud)

此表显示节点A是节点A1和A2的父节点.ParentID等于"0"表示节点的父节点是根节点(硬编码).例如,节点A,B和C是根节点的子节点.

在填充树视图之前,我按ParentID对行进行排序.我使用这两种方法填充树视图(这里的TreeNode节点是填充到树中的子节点):

    private void SearchParent(TreeView tree, String parentID, TreeNode node)
    {
        // Post: call TraverseParent method to search parent

        TreeNodeCollection collection = tree.Nodes;

        // Search parent recursively
        foreach (TreeNode n in collection)
        {
            TraverseParent(n, parentID, node);
        }
    }

    private void TraverseParent(TreeNode potentialParent, String parentID, TreeNode node)
    {
        // Post: search for parent. …
Run Code Online (Sandbox Code Playgroud)

c# treeview winforms

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

正则表达式为3小数点

我需要一个满足这些规则的正则表达式:

  1. 最大小数点数为3,但也应接受没有小数点的数字(例如12)
  2. 该值必须至少为0
  3. 该值必须小于或等于99999999999.999
  4. 小数点是DOT(例如2.5,而不是2,5)

有效数字样本:

0
2
0.4
78784764.23
45.232
Run Code Online (Sandbox Code Playgroud)

无效数字样本:

-2
123456789522144
84.2564
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一个例子(http://forums.asp.net/t/1642501.aspx),并设法修改了一点,使0为最小值,99999999999.999为最大值,并且只接受DOT为小数点.这是我修改过的正则表达式:

^\-?(([0-9]\d?|0\d{1,2})((\.)\d{0,2})?|99999999999.999((\.)0{1,2})?)$
Run Code Online (Sandbox Code Playgroud)

但是,我仍然有3小数点的问题,它相当不稳定.任何人都可以帮我这个,因为在谈到正则表达式时我基本上是文盲吗?

谢谢.

编辑: 我正在使用ASP Regular Expression Validator

regex asp.net

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

将字符串转换为datetime问题

我正在尝试将一种格式的日期字符串转换为另一种格式.但是,我收到此异常错误消息

字符串未被识别为有效的DateTime.

我的代码如下:

string theDate = "28-Feb-13 4:00:00 PM";

DateTime tempDate = DateTime.ParseExact(theDate, "dd-MMM-yy hh:mm:ss tt", CultureInfo.InvariantCulture, DateTimeStyles.None);

convertedDate = tempDate.ToString("yyyy/MM/dd hh:mm:ss");
Run Code Online (Sandbox Code Playgroud)

我真不知道出了什么问题.

c#

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

在条件为null的情况下连接表

我有桌子MemberTransaction.表Member有2列MemberIDMemberName.表Transaction有3列,MemberID,TransactionDate,和MemberBalance.

表中的行如下所示:

Member:

MemberID           MemberName
=============================
1                  John
2                  Betty
3                  Lisa
Run Code Online (Sandbox Code Playgroud)

Transaction:

MemberID        TransactionDate         MemberBalance
=====================================================
1               13-12-2012              200
2               12-12-2012              90
1               10-09-2012              300
Run Code Online (Sandbox Code Playgroud)

我想查询MemberID, MemberNameMemberBalance其中的TransactionDate是最新的(最大)每个MemberID.

我的查询是这样的:

SELECT 
    t.MemberID, m.MemberName , t.MemberBalance
FROM 
    Member AS m 
INNER JOIN 
    Transaction AS t ON m.MemberID = t.MemberID 
WHERE 
    t.TransactionDate IN …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2005

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

WebTime上的DateTime.Now文化/格式

为了测试,Web服务器位于具有Maori文化的计算机上,其中短日期格式如下:d/MM/yyyy.

用户在具有Hungarian文化的计算机上,短日期格式是yyyy.MM.dd.

我已经创建了一个网页,当页面加载时,它将在标签上显示DateTime.Now.显示的日期是2/18/2013 2:22:06 PM.

所以现在我的问题是,为什么显示的日期是另一种格式/文化,我怀疑是英美?

其次,我需要将数据库中的日期(假设数据库位于具有不同文化的计算机上)与DateTime.Now进行比较.为此,我计划从数据库转换日期以匹配Web服务器的文化.但鉴于第一个问题的情况,我怎么知道DateTime.Now将采用哪种文化/格式?

编辑:使用的代码:

DateTime nowDateTime = DateTime.Now;
Label7.Text = nowDateTime.ToString().Trim();
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net datetime datetime-format

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