清我所有来问大家个问题:如何在客户端获取datagrid中选择的行数据??

gl637 2005-03-25 05:38:09
DataGrid设置:
<asp:datagrid id="dg" runat="server" ShowFooter="False" AutoGenerateColumns="False" CellPadding="4" AllowCustomPaging="True" CssClass="Dg" Width="780">
<SelectedItemStyle CssClass="DgSelectItem"></SelectedItemStyle>
<AlternatingItemStyle CssClass="DgAltItem"></AlternatingItemStyle>
<ItemStyle CssClass="DgItem"></ItemStyle>
<HeaderStyle CssClass="DgHeader" HorizontalAlign="Center" VerticalAlign="Middle">
</HeaderStyle>
<FooterStyle CssClass="DgFooter"></FooterStyle>
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<asp:CheckBox Text="全选" OnClick="javascript:return select_deselectAll(this.checked,this.id);" Runat="server" ID="CheckAll"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox Text="选择" Width="45" OnClick="javascript:return select_deselectAll(this.checked,this.id);" Runat="server" ID="AddThis"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
。。。。

然后在该页面我通过如下脚本来选择行,并在后台获取用户选择的数据。
<script language="JavaScript">
function select_deselectAll(chkVal, idVal)
{
var frm = document.forms[0];
for (i=0; i<frm.length; i++)
{
if (idVal.indexOf ('CheckAll') != -1)
{
if(chkVal == true)
{
frm.elements[i].checked = true;
}
else
{
frm.elements[i].checked = false;
}
}
else if (idVal.indexOf ('AddThis') != -1)
{
if(frm.elements[i].checked == false)
{
frm.elements[1].checked = false;
}
}
}
}
</script>
通过以上的可以进行选择。
在后台处理中:
foreach (DataGridItem i in dg.Items)
{
CheckBox deleteChkBxItem = (CheckBox) i.FindControl ("AddThis");
if (deleteChkBxItem.Checked)
{
count++;//选择的行数
djzt = ((Label)i.FindControl("ZT")).Text;//获取该行数据状态
zddmxid=((Label)i.FindControl("ID")).Text;//获取id
}
}
if(count>1)//警告只能选择一行
{。。。
}
if(djzt!="状态")//查看该状态数据是否可以修改,不可以则返回
{
}
如果可以则弹出新页面进行修改



逻辑就是这样的,不知道哪位大侠能够帮我写个JavaScript脚本,来获取选中的行的ID和行的状态值?小弟刚刚学习,真不知道该怎么处理了。
...全文
141 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sy246 2005-03-26
  • 打赏
  • 举报
回复
up
gl637 2005-03-25
  • 打赏
  • 举报
回复
那么怎么来将所有选中的数据进行判断呢?
yzujjcb 2005-03-25
  • 打赏
  • 举报
回复
第一列和第二列写反了。
yzujjcb 2005-03-25
  • 打赏
  • 举报
回复
var oTbl,tr;
var strsubmitdate;
oTbl=document.getElementById("DataGrid1");
for(var i=1;i<oTbl.rows.length-1;i++){
tr=oTbl.rows.item(i);
if (tr.cells[2].children[0].checked){
alert(i);
alert(tr.cells[1].innerText); //这是datagrid1里面的第一列的值
alert(tr.cells[0].getElementsByTagName ('input')[0].value); //这是绑的一个Textbox的值在第二列
}
}
1. 打开新的窗口并传送参数: 2.为按钮添加对话框 3.删除表格选定记录 4.删除表格记录警告 5.点击表格链接另一页 6.表格超连接列传递参数 7.表格点击改变颜色 8.关于日期格式 9.获取错误信息并到指定页面 10.空Cookie 11.自定义异常处理 12.Panel 横向滚动,纵向自动扩展 13.回车转换成Tab 14.DataGrid超级连接列 15.DataGrid随鼠标变色 16.模板列 17.数字格式化 18.日期格式化 19.如何设定全局变量 20.怎样作到HyperLinkColumn生成的连接后,点击连接,打开新窗口? 21.读取DataGrid控件TextBox值 23.在DataGrid有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能? 24.datagrid选定比较底下的时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的因屏幕的关系就看不到了。 25.在Datagrid修改数据,当点击编辑键时,数据出现在文本框,怎么控制文本框的大小 ? 26.对话框 27. 将时间格式化:string aa=DateTime.Now.ToString("yyyy年MM月dd日"); 28.自定义分页代码: 29.DataGrid使用: 30.当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在Global.asax初始化) 31. 变量.ToString() 32、变量.Substring(参数1,参数2); 33.在自己的网站上登陆其他网站:(如果你的页面是通过嵌套方式的话,因为一个页面只能有一个FORM,这时可以导向另外一个页面再提交登陆信息)

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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