基于gridview数据的数据系统

时间:2011-05-19 15:14:59

标签: asp.net vb.net

我想要做的是基本上有一个对用户进行排名的列,所以如果有10个人,那么它会将销售额最高的人排名为10,将第二个最高的人排名为9,依此类推。并不总是10名员工

我正在使用存储过程和sqldatasource连接到我的存储过程。 要获取每个代理的所有数据,我使用

之类的函数
 Dim TotalSales As Decimal = 0.0
    Function GetTotalSales(ByVal Price As Decimal) As Decimal
        TotalSales += Price
        Return Price
    End Function
    Function GetTotal() As Decimal
        Return TotalSales
    End Function


    Dim TotalCalls As Decimal = 0.0
    Function GetCalls(ByVal calls As Decimal) As Decimal
        TotalCalls += calls
        Return calls
    End Function
    Function GetTotalCalls() As Decimal
        Return TotalCalls
    End Function

获得正在运行的总数

我可以做点什么吗

Dim salesrank As Decimal = 0.0
    Function Getsalesrank(ByVal salestorank As Decimal) As Decimal
        Dim rank As New ArrayList
        rank.Add(salestorank)



    End Function

然后一些如何排序数组列表并打印代理销售总额的索引?

1 个答案:

答案 0 :(得分:0)

由于你使用的是.Net 2.0,并且显然没有使用内置类来完成数据调用,我建议你从使用SQLDataSource切换到强类型的DataSet(.xsd文件)。您可以创建一个类型化的DataTable和TableAdapter,它们将执行您的初始查询并生成可以在您执行其他操作时保存所需数据的集合对象(表)。创建数据集后,您可以通过以下方式调用它:

Dim connectionObject as System.Data.SqlClient.SqlConnection = _
    New System.Data.SqlClient.SqlConnection("Put your string here")

Dim myAdapter as MyStronglyTypedTableAdapter
Dim myTable as MyStronglyTypedTable

myAdapter.Connection = connectionObject
myTable = myAdapter.GetData()

如果您创建DataTable以使其包含一个名为TotalSales的空列(我假设数据表中包含用户索引的数据),则可以使用总销售方法填充该列。一旦用户按表组织了表,就可以使用表的DefaultView对GridView进行排序和绑定:

Dim myView as DataView = myTable.DefaultView
myView.Sort = "TotalSales ASC"
myGridView.DataSource = myView
myGridView.DataBind()

完成此操作后,您可以操作GridView的其中一列以显示数字排名。这将在RowDataBound事件中完成。

相关问题