目前,我几乎没有接受GridView
对象作为参数的方法,并且GridView
正在访问对象中的值以执行计算。
我的问题是这是否是一个好习惯?我注意到,当我需要更改结果显示时(即GridView
最初将有 9 个单元格而不是 10 个单元格的结果),我需要更改所有使用它的方法,否则可能会ArrayIndexOutOfBound
出错。
例子
public static string checkCount(GridView gr)
{
//need to change the cell index if the sql to get the gridview is changed
string name = gr.Rows[b].Cells[9].Text.ToUpper();
}
对此有什么想法吗?
谢谢
编辑
最好有一种方法将 sql 结果映射到对象列表中,其中对象本身是数据行的表示。这样即使我删除了一个列,我只需要处理映射方法本身,其他的应该按照规范运行。
例子:
public class Profile{
string name {get;set;}
string icNo {get;set;}
}
public list getProfileList(){
//run some query here and loop the result
//while looping
profile = new Profile(name=/*the name result*/, icNo=/*icNo from result*/ );
//return the list
}
页面加载
List profiles = getProfileList();
gv.DataSource = profiles;
gv.DataBind();
public string calculationMethod(List profiles){
//when in need of the result, just get the object from profiles and process
}