GridView控件显示的问题
用到3个表,tb_bookInfo(12行*8列的数据),tb_bookType(6行*3列),tb_bookCase(12行*2列)==================================================================
protected void GVbookTop10_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)//判断控件GVbookTop10中是否有值
{
int id = e.Row.RowIndex + 1;//当前的索引+1
e.Row.Cells[0].Text = id.ToString();//变量id的值传给GVbookTop10的每一行单元格
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
//绑定图书类型
string bookType = e.Row.Cells[5].Text.ToString();//获得图书类型编号
string typeSql = "select * from tb_bookType where TypeID="+bookType;
SqlDataReader typeSdr = DataOperate.getRow(typeSql);
typeSdr.Read();//读取所得到的图书类型编号对应的数据
e.Row.Cells[5].Text = typeSdr["typeName"].ToString();
//绑定书架
string bookCase = e.Row.Cells[15].Text.ToString();//获得书架编号
string caseSql = "select * from tb_bookCase where bookCaseID="+bookCase;
SqlDataReader caseSdr = DataOperate.getRow(caseSql);
caseSdr.Read();
e.Row.Cells[15].Text=caseSdr["bookCaseName"].ToString();
//鼠标悬停的颜色
e.Row.Attributes.Add("onMouseOver", "Color=this.style.backgroundColor;this.style.backgroundColor='lightBule'");
e.Row.Attributes.Add("onMouseOut","this.style.backgroundColor=Color;");
}
}
====================================================================
//////////////////////////////////////////////////////////
public static SqlDataReader getRow(string sql)//用来查找并返回一行数据
{
SqlConnection con = createCon();
con.Open();
SqlCommand com = new SqlCommand(sql,con);
return com.ExecuteReader();
}
////////////////////////////////////////////////////////////////
要在GridView控件(因为数据库中原来只有4条数据,后来才增加到12条的)中显示出tb_bookInfo表的12条数据,在第一段代码中"e.Row.cells[x]",所有出现的"x"应该是多少呢?因为他要么提示超出索引范围,要么提示列名(tb_bookInfo中的某值)无效...该怎么办?
我是不懂:"e.Row.cells[x]"中的x到底是按什么来填写的...索引下标不是从0开始的么??
提前谢谢各位了