gridview选中行问题

ht87114 2009-04-13 08:58:10
我想选中gridview的一行,当鼠标移开girdview的时候仍然会选中,并且想保存下选中行的ID,请教高手,如何实现,或者提供个变通的思路也行
...全文
1301 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bill1987610 2010-11-08
  • 打赏
  • 举报
回复
我明白LZ的意思,就是选中另一行后,其他之前选中的行都被取消,我也遇到这个问题,不知LZ解决没,解决了,还请分享下经验
maggie3256 2009-04-13
  • 打赏
  • 举报
回复
在gridview的模板列中添加个复选框,想删除哪行就选中哪行
<asp:ExGridView ID="exGv" runat="server" AllowPaging="True" UseExtendPager="True" PagingMode="PostBack" OnPageIndexChanging="exGv_PageIndexChanging" PageSize="10" OnRowDataBound="exGv_RowDataBound" DataKeyNames="zjdm_id" HorizontalAlign="Center" AutoGenerateColumns="False" CellPadding="4" Font-Size="Small" OnRowCommand="exGv_RowCommand" OnRowDeleting="exGv_RowDeleting" Width="787px" cssclass="table04">
<Columns>
<asp:BoundField HeaderText="信息id" DataField="zjdm_id" Visible="False"/>
<asp:TemplateField>

<itemtemplate>
 <asp:CheckBox id="chkExport" runat="server"></asp:CheckBox>
</itemtemplate>
</asp:TemplateField>


<asp:TemplateField HeaderText="修改">
<itemtemplate>
<asp:Button id="Delete" runat="server" CssClass="btn_01" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"zjdm_id") %>' CommandName="Delete" OnClientClick="return confirm('确认要删除吗?')" Text="删除"></asp:Button>

</itemtemplate>
</asp:TemplateField>

</Columns>
</wts:ExGridView>

后台cs文件:
protected void exGv_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "Delete":
删除处理("EditGongQiu.aspx?zjdmid=" + e.CommandArgument);
break;

}
GridViewBind();//绑定数据
}
ht87114 2009-04-13
  • 打赏
  • 举报
回复
就是想做一个删除的功能,选中那行后,在上面导航栏上有个删除按钮,类似cs模式得软件
ht87114 2009-04-13
  • 打赏
  • 举报
回复
选中行可以直接添加onclick,那怎么知道哪些行是没被选中呢,呵呵,小弟刚玩.net
ht87114 2009-04-13
  • 打赏
  • 举报
回复
如何取消掉其他行的选中状态呢
kkun_3yue3 2009-04-13
  • 打赏
  • 举报
回复
思路跟你想的一样简单,就是实现麻烦些
点击行的时候,记录下其ID到某个隐藏域里即可
onclick的时候选种行,并取消其它行的选种状态
不要使用onmouseover,onmouseout就行了,
walkghost 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ht87114 的回复:]
checkbox是很好拉,不过不满足我这需求,我这个不能显示出checkbox
[/Quote]
那你想咋显示?我汗一个。
jiangtianyin 2009-04-13
  • 打赏
  • 举报
回复
GridView里面有几个事件,RowEditing Rowdelete等等,你在数据绑定的时候在GridView.datasource和GridView.DataBind()之间加一句GridView.DataKeynames=你要绑定的Id名称,例如我的数据库里面纪录的ID号的列名叫作Uid,那么写法如下:
public void GetAllNews()
{
DataSet ds = Bll.NewsManiger.GetAllNews();
this.GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataKeyNames = new string[] { "Uid" };
this.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
this.GridView1.EditIndex = e.NewEditIndex;
NewsID = this.GridView1.DataKeys[e.NewEditIndex][0].ToString();//获取你选中的行在数据库中的ID号 GetAllNews();
Response.Redirect("updateNews.aspx?ID="+NewsID);
}

前提是你要在grieview 的colums 属性里面有编辑这个按钮
ht87114 2009-04-13
  • 打赏
  • 举报
回复
checkbox是很好拉,不过不满足我这需求,我这个不能显示出checkbox

62,268

社区成员

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

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

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

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