在asp.net gridview中创建行标题

时间:2015-01-08 05:55:36

标签: asp.net gridview

我在asp.net网格视图中有这个奇怪的要求。是否可以同时具有列标题和行标题,如下图所示?

enter image description here

如果是,我还有一个问题

1。)我想根据失败数量批量数量自动计算失败%行中的失败百分比,就像我们在Excel中一样。

非常感谢帮助,提前致谢。

1 个答案:

答案 0 :(得分:3)

我猜你有一个集合,我们称之为origCollection,它以某种方式包含数据。我通常做的是将origCollection转换为另一个,让我们称之为newCollection,它具有您想要的形式。你需要这个类映射单行:

Class myRow {
    public string title {get; set;} //Failure %, Failed Quantity, ...
    public string test1{get; set;}
    public string test2{get; set;}
    public string test3{get; set;}
    public string test4{get; set;}
    public string test5{get; set;}
}

然后,在数据绑定之前,您可以这样创建newCollection

//create newCollection
var newCollection = new List<myRow>();

//for each row you wnt to put in newCollection:
newCollection.Add(new myRow(){
   title = "Failure %",
   test1 = // calculate value from origCollection,
   test2 = // calculate value from origCollection,
   test3 = // calculate value from origCollection,
   test4 = // calculate value from origCollection,
   test5 = // calculate value from origCollection
} );

您从newCollection撰写origCollection的方式很大程度上取决于您的数据结构,无论如何,您可以将所有流程包装在一个函数中,让我们将其称为transformCollection()。然后数据绑定很容易:

var newcoll = transformCollection(origCollection);
this.myGrid.DataSource = newcoll;
this.myGrid.Databind();

这就是我通常的做法,我希望这有帮助