dtgClass有五列,第一列为自动编号,后三列分别为ClassID(关键字段,不显示),Grade,ClassName,第五列为button,点击时显示该班级的信息:某级某班,问题是这里面怎么写获取当前选定行选定列的值:public void ShowClassInfo(Object objSender, System.Web.UI.WebControls.DataGridCommandEventArgs e)//dtgClass中有OnItemCommand="ShowClassInfo"
{
if (e.CommandName=="ClassInfo")//button中有CommandName="ClassInfo"
{
int ClassID=Convert.ToInt32(dtgClass.DataKeys[e.Item.ItemIndex].ToString());//获取关键字段值
string Grade=e.Item.Cells[1].Text;//问题在这里!!改成dtgClass.Items[e.Item.ItemIndex].Cells[1]也不行,不能改为dtgClass[e.Item.ItemIndex,1],也没有dtgClass.Rows或Row的提示,也没有dtgClass.Cells的提示,更没有e.Cells的提示
string ClassName=e.Item.Cells[2].Text;//改成与上句同样的
lblInfo.Text=Grade+"级"+ClassName+"班"+",班级编号为:"+ClassID;
}
}显示的结果是:级班,班级编号为:5,也就是说,点击事件还是没问题的,只是获取当前行的年级名,班级名不对,不知为空还是没取到。
{
if (e.CommandName=="ClassInfo")//button中有CommandName="ClassInfo"
{
int ClassID=Convert.ToInt32(dtgClass.DataKeys[e.Item.ItemIndex].ToString());//获取关键字段值
string Grade=e.Item.Cells[1].Text;//问题在这里!!改成dtgClass.Items[e.Item.ItemIndex].Cells[1]也不行,不能改为dtgClass[e.Item.ItemIndex,1],也没有dtgClass.Rows或Row的提示,也没有dtgClass.Cells的提示,更没有e.Cells的提示
string ClassName=e.Item.Cells[2].Text;//改成与上句同样的
lblInfo.Text=Grade+"级"+ClassName+"班"+",班级编号为:"+ClassID;
}
}显示的结果是:级班,班级编号为:5,也就是说,点击事件还是没问题的,只是获取当前行的年级名,班级名不对,不知为空还是没取到。
2 如果是的话,很多自定义的函数,都没法跟踪,它压根就不理,象我这个我在 if (e.CommandName=="ClassInfo")//button中有CommandName="ClassInfo"
这里设定断点,压根就进不来,是不是不能放到判断语句上;
3 另外,我想追踪grade的值,可以在哪里设置吗?
4 SelectItem怎么用
<asp:BoundCloumn DataField="Grade" HeaderText="Grade"/>
<asp:BoundCloumn DataField="ClassName" HeaderText="ClassName"/>CS
string Grade=((TextBox)e.Item.Cells[3].Controls[0]).Text;
string ClassName=((TextBox)e.Item.Cells[4].Controls[0]).Text;