小编Ses*_*ame的帖子

NumericUpDown控件可以执行此操作吗?

我正在试验NumericUpDown控件并对其灵活性有疑问.基本上,我想做的是显示年份范围,如下所示:

2006- 2007年; 2007-2008; 2008- 2009年; 2009-2010

显然,我希望控制器在按下按钮时循环通过与此类似的范围.

如果可能,范围将需要在2006-2007和当前年份+1(即2009-2010;明年:2010-2011)开始.

这可能吗?有人有任何例子吗?我目前将此设置为组合框,但认为NumericUpDown控件在这种情况下使用会非常好.

谢谢...

c# datetime numericupdown winforms

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

Tab结构最佳实践

在开发一个将使用选项卡控件显示不同数据集的WinForms应用程序时,最好是直接将所有控件添加到选项卡,或者创建用户控件,将我的控件添加到UC并将UC添加到每个选项卡中.不同的标签?

我被告知UC方法是最佳实践,我理解一些好处,但我想知道这是否真的是要走的路...任何解释都非常感谢!

user-controls tabs winforms

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

使用VBA循环记录集

我试图以下列方式以循环方式将销售人员(rsSalespeople)分配给客户(rsCustomers):

  1. 导航到第一个客户,将第一个SalesPerson分配给客户.
  2. 转到下一个客户.如果rsSalesPersons不在EOF,请转到Next SalesPerson; 如果rsSalesPersons处于EOF,则MoveFirst将循环回第一个SalesPerson.将此(当前)SalesPerson分配给(当前)客户.
  3. 重复步骤2,直到rsCustomers处于EOF(EOF = True,即End-Of-Recordset).

自从我处理VBA以来已经有一段时间了,所以我有点生疏,但到目前为止,这是我想出来的:

Private Sub Command31_Click()

'On Error GoTo ErrHandler

Dim intCustomer As Integer
Dim intSalesperson As Integer
Dim rsCustomers As DAO.Recordset
Dim rsSalespeople As DAO.Recordset
Dim strSQL As String

strSQL = "SELECT CustomerID, SalespersonID FROM Customers WHERE SalespersonID Is Null"
Set rsCustomers = CurrentDb.OpenRecordset(strSQL)

strSQL = "SELECT SalespersonID FROM Salespeople"
Set rsSalespeople = CurrentDb.OpenRecordset(strSQL)

rsCustomers.MoveFirst
rsSalespeople.MoveFirst

Do While Not rsCustomers.EOF

    intCustomer = rsCustomers!CustomerID
    intSalesperson = rsSalespeople!SalespersonID

    strSQL = "UPDATE Customers SET SalespersonID = …
Run Code Online (Sandbox Code Playgroud)

sql ms-access vba loops recordset

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

访问bindingsource列值

如何使用代码更新绑定源中的列值?

我正在尝试类似的东西:

CustomersBindingSource.AddNew();
CustomersBindingSource.Current["CustomerID"] = Guid.NewGuid();
Run Code Online (Sandbox Code Playgroud)

此代码当前错误说明:"无法将带有[]的索引应用于'object'类型的表达式".

任何帮助重写这一点非常感谢!

c# bindingsource

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

查找没有“重复项”的记录

我正在尝试在表中查找基于某些条件没有“重复”的记录。我将重复项放在引号中,因为这些记录不是文字重复项,如我的示例数据所示。

MyTable
Column1-----Column2-----Column3
ABC---------123---------A
ABC---------123---------Z
BCD---------234---------Z
CDE---------345---------A
CDE---------345---------Z
DEF---------456---------A
DEF---------456---------Z
EFG---------567---------Z
FGH---------678---------A
Run Code Online (Sandbox Code Playgroud)

只需看一眼这些数据,您就可以清楚地看到Column1中具有BCD,EFG和FGH的记录没有任何其他重复项。但是,除Column3数据外,所有其他记录看起来相似。

我可以编写查询来查找这三个记录,但是我只关心Column3中具有“ Z”的记录。这将导致查询仅显示BCD和EFG,而不显示FGH。

因此,我想要一个查询,该查询将查找记录,这些记录查找没有重复的记录(基于Column1和Column2),并且在Column3中具有“ Z”。

任何帮助是极大的赞赏!

sql sql-server sql-server-2008

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

GroupBy和Select扩展方法帮助

我正在使用以下代码尝试GroupBy几个字段:

var cars = tmp.Select(a => new { a.Make, a.Model, a.Year });

cars = cars.Distinct()
           .OrderBy(a => a.Make)
           .ThenBy(a => a.Model);

var groupedCars = cars.GroupBy(a => new { a.Make, a.Model })
                      .Select(b => new { b.Make, b.Model, b.Year });
Run Code Online (Sandbox Code Playgroud)

不幸的是,最后一行代码给了我错误,因为无法识别这三个字段.

'System.Linq.IGrouping(AnonymousType#1,AnonymousType#2)'不包含'Make'的定义,也没有扩展方法'Make'接受类型'System.Linq.IGrouping的第一个参数(AnonymousType#1,AnonymousType)可以找到#2)'你是否错过了使用指令或汇编引用?)

所有三个字段(Make,Model,Year)都是相同的错误.

任何想法如何解决这一问题?

c# linq extension-methods

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

验证日期文本框

我正在使用以下代码检查是否已在文本框中键入有效日期:

public bool ValidateDate(Control ctrl)
{
    if (!string.IsNullOrEmpty(ctrl.Text))
    {
        DateTime value;
        if (!DateTime.TryParse(ctrl.Text, out value))
        {
            return false;
        }
    }
    return true;
}


private void txtStartDate_Validating(object sender, CancelEventArgs e)
{
    if (Utils.ValidateDate(txtStartDate))
    {
        errorProvider.SetError(txtStartDate, "");
    }
    else
    {
        errorProvider.SetError(txtStartDate, "* Invalid Date");
        e.Cancel = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

这适用于输入m/d/yy,m/d/yyyy,mm/dd/yy,mm/dd/yyyy的日期.如果用户输入诸如"11/17"之类的日期,则这将评估为有效日期,但不幸的是,我只想要具有所有三个日期部分的日期.

是否有捷径可寻?我正在考虑一下检查文本框中是否有2个"/"的行,但我确信有更简洁的方法可以达到预期的效果.

编辑:感谢所有人的建议!我最终使用以下代码接受M/d/yyyy和M/d/yy~

    public bool ValidateDate(Control ctrl)
    {          
        if (!string.IsNullOrEmpty(ctrl.Text))
        {
            string[] formats = {"M/d/yyyy", "M/d/yy"};
            DateTime value;

            if  (!DateTime.TryParseExact(ctrl.Text, formats, new CultureInfo("en-US"), DateTimeStyles.None, out value))
            {
                return false;
            }                
        }
        return true; …
Run Code Online (Sandbox Code Playgroud)

c# validation datetime textbox winforms

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

将VB转换为C#

我需要一些帮助将一些VB.NET代码转换为C#.我尝试了几个"代码转换器",但没有一个能给我一个可行的响应.

这是代码:

If Me.OrdersDataGridView.SelectedRows.Count > 0 Then
Dim editForm As New Order(Me.NorthwindDataSet, _
    Me.NorthwindDataSet.Orders.Rows.IndexOf_
    (CType(CType(Me.OrdersDataGridView.SelectedRows(0)._
    DataBoundItem, DataRowView).Row, NorthwindDataSet.OrdersRow)))
    editForm.Show()
End If
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助!

编辑:这里是我发现的原始文章的链接.

c# vb.net

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

查找符合特定条件的记录组

我有以下数据:

ID --- ParentID --- DataValue  
1  ---    1     ---    A  
2  ---    1     ---    B  
3  ---    1     ---    C  
4  ---    4     ---    B  
5  ---    4     ---    C  
6  ---    6     ---    A  
7  ---    6     ---    B  
8  ---    6     ---    C  
9  ---    6     ---    D
Run Code Online (Sandbox Code Playgroud)

对于每组记录(按ParentID分组),我想找到所有没有包含"A"的记录作为DataValue的组

由于组1和组6至少包含一个"A"作为DataValue的记录,我不希望看到它们.我只想看到记录4和5(这是第4组的一部分),因为该组中没有记录具有"A".

任何帮助是极大的赞赏!

sql t-sql sql-server sql-server-2008

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

在单独的选项卡/窗口中打开PDF

我正在使用以下代码在IE中显示PDF文档:

<a class="menu" href="file://MyServer/MyFolder/MyFile.pdf">Click Me!</a>
Run Code Online (Sandbox Code Playgroud)

这将在当前选项卡中显示PDF ...如何在新选项卡或最好是新窗口中打开它?

html asp.net internet-explorer

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

需要帮助(希望)简单的RegEx

我是使用RegEx的新手,需要一点启动才能让球滚动.我希望RegEx非常简单.

它需要做的就是验证输入的文本是否遵循以下格式:

00.000(2位数,一个句点,3位数).

关于RegEx本身以及如何实施的任何建议将不胜感激!

编辑:感谢大家的所有建议!一切都很好...

c# regex winforms

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