基于gridview数据的数据系统

基于gridview数据的数据系统

问题描述:

我想要做的是基本上有一个排列用户的列,所以如果有10个人,它将排名最高的销售10和第二高的9等等。 Theres并不总是会成为10名员工基于gridview数据的数据系统

我正在使用存储过程以及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 

,然后一些数组如何排序列出并打印代理销售总额的指数?

+0

您是如何计算这个最高销售额的?它来自数据库吗?你是否使用了一个SQLDataSource,在后面的代码中绑定,使用魔法和魔法?谁说你需要任何循环?抹去你的假设并与我们分享一些代码。 – 2011-05-19 15:17:48

+0

感谢您的回复,我发布了更多数据。并且我希望我有一些神奇的东西可以让我学习这些东西变得更容易:) – 2011-05-19 15:26:23

+0

SQLDataSource不适用于这种功能。你编码的是什么版本的.Net? (我的建议将基于此) – 2011-05-19 16:18:53

由于您使用的是.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() 

如果您创建数据表,使其拥有一个空列名为TotalSales(我假设的数据表保存用户所索引的数据),您可以使用总销售额方式填充该列。一旦你的用户,你可以使用表的默认视图进行排序,并绑定到你的GridView组织表:

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

当做到这一点,你可以操纵你的GridView来显示数字排序的列之一。这将在RowDataBound事件中完成。