社区
C#
帖子详情
GridView动态绑定模板列值问题,急,救命
hskire
2007-05-27 07:54:06
数据表有一个列,ispass,值是1/0
我加一个模板列button,如果是1的,button的test就是"已经审核",反之如果是0就是未审
然后,我点这个按钮,点一次,未审变已审,已审变未审
各位达人没时间定代码,请说一下方法和贴些关键代码出来
求代码,不感感激!!
...全文
1131
12
打赏
收藏
GridView动态绑定模板列值问题,急,救命
数据表有一个列,ispass,值是1/0 我加一个模板列button,如果是1的,button的test就是"已经审核",反之如果是0就是未审 然后,我点这个按钮,点一次,未审变已审,已审变未审 各位达人没时间定代码,请说一下方法和贴些关键代码出来 求代码,不感感激!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LeeeeSin
2007-10-09
打赏
举报
回复
,,,,,,
yuanzhihua520
2007-06-01
打赏
举报
回复
up
hskire
2007-05-27
打赏
举报
回复
可以,谢谢
sbqcel(活死人)
hskire
2007-05-27
打赏
举报
回复
我按上面给的代码
索引超出范围。必须为非负值并小于集合大小。
参数名: index
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
源错误:
行 37: if (e.CommandName.Equals("IsPass"))
行 38: {
行 39: GridViewRow row = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];
行 40: sID = row.Cells[1].Text.ToString();
行 41: // //Student stu = new Student();
sbqcel
2007-05-27
打赏
举报
回复
你使用了e.CommandArgument
但GridView的模板列Button 并未指定CommandArgument 所以取出的数据为空,转为int时失败
<asp:Button ID="Button2" runat="server" CommandArgument='<%# Eval("id") %>' CommandName="IsPass" Text='<%# Eval("ispass").ToString() == "1" ? "已审" : "未审" %>'
/> //指定CommandArgument值为id
e.CommandArgument 就是获取当前点击按钮对应数据的ID
hskire
2007-05-27
打赏
举报
回复
找到部分原因了
hskire
2007-05-27
打赏
举报
回复
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1"
PageSize="20" ShowFooter="True" CellPadding="4" ForeColor="#333333" GridLines="None" Font-Size="Small" Width="100%" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField HeaderText="选择">
<FooterTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="删除" />
</FooterTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
SortExpression="id" Visible="False" />
<asp:BoundField DataField="stu_name" HeaderText="学生姓名" SortExpression="stu_name" />
<asp:BoundField DataField="stu_sex" HeaderText="性别" SortExpression="stu_sex" />
<asp:BoundField DataField="stu_SchRec" HeaderText="学历证号" SortExpression="stu_SchRec" />
<asp:BoundField DataField="sch_name" HeaderText="学校名称" SortExpression="sch_name" />
<asp:BoundField DataField="sch_type" HeaderText="类型/界数" SortExpression="stu_type" />
<asp:BoundField DataField="submitDate" DataFormatString="{0:d}" HeaderText="录入时间"
HtmlEncode="False" SortExpression="submitDate" />
<asp:BoundField DataField="username" HeaderText="录入人" SortExpression="username" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button2" runat="server" CommandName="IsPass" Text='<%# Eval("ispass").ToString() == "1" ? "已审" : "未审" %>'
/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<%# "studentedit.aspx?id="+Eval("id") %>'
Text="编辑"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="IsPass" HeaderText="IsPass" SortExpression="IsPass" Visible="False" />
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
hskire
2007-05-27
打赏
举报
回复
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。
源错误:
行 33: if (e.CommandName.Equals("IsPass"))
行 34: {
行 35: GridViewRow row = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];
行 36: sID = row.Cells[2].Text.ToString();
行 37: Page.RegisterStartupScript("", "<script>alert('"+sID+"')</script>");
源文件: e:\files\wwwroot\StudentDB\admin\student.aspx.cs 行: 35
sbqcel
2007-05-27
打赏
举报
回复
哪行报错?
能把模版列按钮的HTML代码帖出来吗?
hskire
2007-05-27
打赏
举报
回复
sbqcel(活死人):
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string sID="";
if (e.CommandName.Equals("IsPass"))
{
//GridViewRow row = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];
//sID = row.Cells[2].Text.ToString();
Page.RegisterStartupScript("", "<script>alert('"+sID+"')</script>");
//Student stu = new Student();
//stu.StuId = sID;
//int IsPass;
//if(int.Parse(stu.StuIsPass)==1)
//{
// IsPass=0;
//}
//else
//{
// IsPass=1;
//}
//stu.StuIsPass = IsPass.ToString();
}
}
我点这个按钮说是格式不对,该怎么写?
sbqcel
2007-05-27
打赏
举报
回复
点这个按钮,点一次,未审变已审,已审变未审
///你在点击时间里,更新数据库的值,更新完毕后重新绑定
sbqcel
2007-05-27
打赏
举报
回复
Text='<%# Eval("ispass").ToString() == "1" ? "已经审核" : "未审核" %>
WPF ListView控件的高级功能与实战应用指南
本文深入探讨了WPF ListView控件的高级功能与实战应用,重点解析了其核心价值在于通过数据绑定、
模板
和视图模式实现数据、逻辑与界面的分离。文章详细介绍了如何利用CellTemplate和ItemTemplate进行灵活的内容定制,...
DataGrid相关知识总结
鼠标双击到的值:"+((TextBox)sender).Text.ToString());鼠标双击到的值:"+((TextBox)sender).Text.ToString());鼠标双击到的值:"+((TextBox)sender).Text.ToString());鼠标双击到的值:"+((TextBox)sender).Text....
DataGrid相关知识总结(收集自各位老大处)
关于datagrid的
问题
,如何使行宽不可由用户更改。(即行宽固定,不能通过拖拉的方式改变)定义DataGrid的时候就把宽度设定 如何在winform中DataGrid点击某行,使数据实时显示在TEXTBOX中?datagrid的keypress事件中...
【VS2022--ASP.NET】DevExpress 安装与配置实战:从零到一构建企业级UI
本文详细介绍了在Visual Studio 2022环境中,为ASP.NET Web ...内容涵盖从官网下载、安装器选择、项目集成、Web.config关键配置到常见
问题
排查,旨在帮助开发者高效构建专业美观的管理系统界面,显著提升开发效率。
VB.NET Web开发初级入门实战指南
简介:VB.NET是微软推出的面向对象编程语言,结合ASP.NET框架广泛应用于动态Web应用开发。本教程“VB.NET Web开发的初级入门”专为已掌握VB.NET基础并希望进入Web开发领域的学习者设计,涵盖Web项目创建、Web Form...
C#
111,125
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章