从另一个类访问RowCount

时间:2015-12-15 14:26:06

标签: c# winforms datagridview

我有一个winform,需要一些参数,执行一个存储过程,然后用结果填充DataGridView。

我想要做的是在winform底部添加一个返回消息的字符串,包括返回的总行数。

目前使用以下语法可以正常工作:

function directiveController($scope, buildservice) {

    function addToBox(item){
        buildservice.addItem(item);
    }

然而,由于我的大部分申请都是以初始形式写出来的,所以我正在将各个部分分成几个班级,以便将它整理好。一点 - (我对c#仍然很新,所以如果这是一个n00b错误就道歉)

一旦我添加了一个名为Summary的类,我想按如下方式调用我的RowCount:

deskSearchResultCount.Text = String.Format("Your search returned {0} results", deskDataGridView.RowCount );

我的Summary类包含以下内容:

Summary Returned = new Summary();

            deskSearchResultCount.Text = String.Format("Your search returned {0} results", Returned.Total("Desk"));

然而,返回的计数始终为0.当逐步完成该过程时,它似乎没有尝试将自己设置为任何不同的。

有人可以帮助/指出我正确的方向吗?

感谢。

编辑 -

我还包括完整的表格 -

    public class Summary : ContactAnalysisToolbox
{
    public int Total(string type)
    {
        if (type == "Desk")
        {
            return deskDataGridView.Rows.Count;
        }
        else
        {
            return visionDataGridView.Rows.Count;
        }
    }

1 个答案:

答案 0 :(得分:0)

例如你可以做这样的事情。它被称为Method Extension

试试这个

public static class Helpers
{
    public static string ToTotalCount(this DataGridView item)
    {
        return string.Format("Your search returned {0} results", item.Rows.Count);
    }
}

在表单中,确保Helpers类的名称空间位于usings:

 deskSearchResultCount.Text = deskDataGridView.ToTotalCount();