无法将类型为“Rs_Sysyem.Models.RS_Person”的对象强制转换为类型“System.Data.DataRowView”。

lihui123 2009-07-21 04:07:32
protected void Attendance_gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
ImageButton temp_edit = (ImageButton)e.Row.FindControl("lb_edit");
temp_edit.CommandName = "Attendance_Edit";
temp_edit.CommandArgument = e.Row.RowIndex.ToString();


Label temp_tab = (Label)e.Row.FindControl("a_status_m");
DataRowView temp_dv = (DataRowView)e.Row.DataItem;
temp_tab.Text = AttendanceClass.ShowStatus(temp_dv.Row["a_status_m"].ToString());


Label temp_tab_A = (Label)e.Row.FindControl("a_status_a");
DataRowView temp_dv_A = (DataRowView)e.Row.DataItem;
temp_tab_A.Text = AttendanceClass.ShowStatus(temp_dv_A.Row["a_status_a"].ToString());
} /////无法将类型为“Rs_Sysyem.Models.RS_Person”的对象强制转换为类型“System.Data.DataRowView”。
if (e.Row.RowType == DataControlRowType.Pager)
{
Label Templb = (Label)e.Row.FindControl("Recordcount_lb");
Templb.Text = _AttendanceManage.RecordCount;
Templb = (Label)e.Row.FindControl("Pagecount_lb");
Templb.Text = Attendance_gv.PageCount.ToString();
Templb = (Label)e.Row.FindControl("abbPage_lb");
Templb.Text = Convert.ToString(Attendance_gv.PageIndex + 1);
}
}
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
haonanxxx 2009-07-22
  • 打赏
  • 举报
回复
顶。
moduofanchen 2009-07-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinglecat 的回复:]
你绑定的是  List <Rs_Sysyem.Models.RS_Person> 之类的吧

Label temp_tab = (Label)e.Row.FindControl("a_status_m");
            //DataRowView temp_dv = (DataRowView)e.Row.DataItem;
Rs_Sysyem.Models.RS_Person p = (Rs_Sysyem.Models.RS_Person)e.Row.DataItem;
            //temp_tab.Text = AttendanceClass.ShowStatus(temp_dv.Row["a_status_m"].ToString());
temp_tab.Text = AttendanceClass.ShowStatus(p.YourPropertyName);


[/Quote]


UP UP
Jinglecat 2009-07-22
  • 打赏
  • 举报
回复
你绑定的是 List<Rs_Sysyem.Models.RS_Person> 之类的吧

Label temp_tab = (Label)e.Row.FindControl("a_status_m");
//DataRowView temp_dv = (DataRowView)e.Row.DataItem;
Rs_Sysyem.Models.RS_Person p = (Rs_Sysyem.Models.RS_Person)e.Row.DataItem;
//temp_tab.Text = AttendanceClass.ShowStatus(temp_dv.Row["a_status_m"].ToString());
temp_tab.Text = AttendanceClass.ShowStatus(p.YourPropertyName);

Jinglecat 2009-07-22
  • 打赏
  • 举报
回复
显然你绑定的不是 DataTable/DataView
dsr456 2009-07-22
  • 打赏
  • 举报
回复
要使用DataRowView好像应该用这个对象
e.Row.NameContainer.DataItem
lihui123 2009-07-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinglecat 的回复:]
你绑定的是  List <Rs_Sysyem.Models.RS_Person> 之类的吧

Label temp_tab = (Label)e.Row.FindControl("a_status_m");
            //DataRowView temp_dv = (DataRowView)e.Row.DataItem;
Rs_Sysyem.Models.RS_Person p = (Rs_Sysyem.Models.RS_Person)e.Row.DataItem;
            //temp_tab.Text = AttendanceClass.ShowStatus(temp_dv.Row["a_status_m"].ToString());
temp_tab.Text = AttendanceClass.ShowStatus(p.YourPropertyName);

Jinglecat 兄台 我照你的改了还是……



protected void Attendance_gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
ImageButton temp_edit = (ImageButton)e.Row.FindControl("lb_edit");
temp_edit.CommandName = "Attendance_Edit";
temp_edit.CommandArgument = e.Row.RowIndex.ToString();

Label temp_tab = (Label)e.Row.FindControl("a_status_m");
//DataRowView temp_dv = (DataRowView)e.Row.DataItem;// e.Row.NameContainer.DataItem
Rs_Sysyem.Models.RS_ATTENDANCE p = (Rs_Sysyem.Models.RS_ATTENDANCE)e.Row.DataItem;
//temp_tab.Text = AttendanceClass.ShowStatus(temp_dv.Row["a_status_m"].ToString());
temp_tab.Text = AttendanceClass.ShowStatus(p.A_STATUS_M.ToString());



Label temp_tab_A = (Label)e.Row.FindControl("a_status_a");
Rs_Sysyem.Models.RS_ATTENDANCE a = (Rs_Sysyem.Models.RS_ATTENDANCE)e.Row.DataItem;
temp_tab_A.Text = AttendanceClass.ShowStatus(a.A_STATUS_A.ToString());
///无法将类型为“System.Data.DataRowView”的对象强制转换为类型“Rs_Sysyem.Models.RS_ATTENDANCE”。

}
if (e.Row.RowType == DataControlRowType.Pager)
{
Label Templb = (Label)e.Row.FindControl("Recordcount_lb");
Templb.Text = _AttendanceManage.RecordCount;
Templb = (Label)e.Row.FindControl("Pagecount_lb");
Templb.Text = Attendance_gv.PageCount.ToString();
Templb = (Label)e.Row.FindControl("abbPage_lb");
Templb.Text = Convert.ToString(Attendance_gv.PageIndex + 1);
}
}



[/Quote]

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧