datagrid问题,Help!!! 放200分

wenson 2003-03-22 10:20:22
我想实现在datagrid中单击任意一行然后触发一个事件,在事件处理的函数里面能捕捉到刚才单击的那一行!
我试了onItemCommand没有实现,我现在还不想加一个columns,谁有好办法?
...全文
28 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
supnet 2003-03-23
  • 打赏
  • 举报
回复
首先在该DataGrid中添加一个模板列:如:
<asp:TemplateColumn HeaderText="标题">
<ItemTemplate>
<asp:LinkButton Runat="server" ID="LinkButton1" OnCommand="LinkButton_Click" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id") %>'>显示按钮文字</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>

然后在代码中写如下:
protected void LinkButton_Click(object sender, CommandEventArgs e)
{
string id = e.CommandArgument.ToString();//id就是你要得到的行的id值
}

you try::
lyj670 2003-03-23
  • 打赏
  • 举报
回复
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
Dim intcatid As Integer
intcatid = DataGrid1.DataKeys(e.Item.ItemIndex)
'得到ID后,你想怎么处理都可以啊,在datagrid里绑定个选择列就行了,你要的功能都有。
End Sub
wenson 2003-03-23
  • 打赏
  • 举报
回复
关于:
--
glboy(星毅)
2.“在某一行双击鼠标是可以弹出一个新的页面,还可以把该行的数据传递到下一页中去”,这个不能吧?这么强!如果能这样的话,我也学习学习。

可以将你说的网址贴出来吗?
---
的确如此,这是我一个朋友做的程序,目前的不到源代码,弄到后再发出来。
wenson 2003-03-23
  • 打赏
  • 举报
回复
谢谢 supnet(C) , lyj670(空中一只鸟) , glboy(星毅) ,给分,另外谁能告诉我怎么多加分,好像只能给100分?
wenson 2003-03-23
  • 打赏
  • 举报
回复
结了,我自己试出来一个办法,估计很苯,但是时间紧,先弄出来再说:
在datagrid里面加上:
<asp:BoundColumn DataField="id" SortExpression="id" HeaderText="id" Visible="False"></asp:BoundColumn>
'id是数据库主键
<asp:ButtonColumn Text=" * " ButtonType="pushButton" HeaderText="详情"></asp:ButtonColumn>
这个button引发事件,在datagrid里面绑定itemcommand
里面的函数部分代码:
...
DataGrid1.SelectedIndex = e.Item.ItemIndex
myint = DataGrid1.SelectedItem.Cells(0).Text
...
这样就获取了当前选定的纪录的主键,可以任意操作了,哈哈,比较高兴。
glboy 2003-03-22
  • 打赏
  • 举报
回复
1.引“该行的颜色也会变化”可以通过DHTML来实现;

2.“在某一行双击鼠标是可以弹出一个新的页面,还可以把该行的数据传递到下一页中去”,这个不能吧?这么强!如果能这样的话,我也学习学习。

可以将你说的网址贴出来吗?
glboy 2003-03-22
  • 打赏
  • 举报
回复
1.引“该行的颜色也会变化”可以通过DHTML来实现;

2.“在某一行双击鼠标是可以弹出一个新的页面,还可以把该行的数据传递到下一页中去”,这个不能吧?这么强!如果能这样的话,我也学习学习。
glboy 2003-03-22
  • 打赏
  • 举报
回复
1.引“该行的颜色也会变化”可以通过DHTML来实现;

2.“在某一行双击鼠标是可以弹出一个新的页面,还可以把该行的数据传递到下一页中去”,这个不能吧?这么强!如果能这样的话,我也学习学习。
wenson 2003-03-22
  • 打赏
  • 举报
回复
我见过用asp做的页面,在某一行双击鼠标是可以弹出一个新的页面,该行的颜色也会变化,还可以把该行的数据传递到下一页中去,说明还是可以捕捉事件的(不知道是不是javascript或者别的)!
是不是可以把事件绑定到table的<br>上去,一行数据就是一个<br>。。。。。
glboy 2003-03-22
  • 打赏
  • 举报
回复
还是采用加个绑定列来触发

Web 窗体页是无状态执行,所以没法实现你上面所提的
如题,项目要用到jeasyui,所以必须要下载它的demo,获取相应的js,css等等的文件 jeasyui的下载地址:http://www.jeasyui.com/download/index.php <script src="easyui/jquery.min.js" type="text/javascript"> $(function () { $("#tab").datagrid({ // width: 600, //宽度 height: 400, //高度 singleSelect: true, //选中一行的设置 fitColumns:true, url: "EditorUserHandler.ashx", //请求路径 title: "用户信息", //标题 iconCls: "icon-add", //图标 // collapsible: true, //隐藏按钮 //冻结列 // frozenColumns: [[{ field: "chk", "checkbox": true}]], //复选框 //列 rownumbers: false, //传输参数 queryParams: { "action": "query" }, pagination: true, toolbar: "#tool" }); $("#tab").datagrid('getPager').pagination({ beforePageText: "第", afterPageText: "页", displayMsg: "当前 {from} - {to}条数据 共{total} 条数据", pageSize: 10, pageList: [5, 10, 15, 20, 30] }); }) <script type="text/javascript"> function CreateFormPage(strPrintName, printDatagrid) { var tableString = '
半年广东省房屋市政工程安全生产文明施工示范工地申报项目汇总表
地区(部门)公 章: 报送时间: 年 月 日
'; var frozenColumns = printDatagrid.datagrid("options").frozenColumns; // 得到frozenColumns对象 var columns = printDatagrid.datagrid("options").columns; // 得到columns对象 var nameList = ''; // 载入title if (typeof columns != 'undefined' && columns != '') { $(columns).each(function (index) { tableString += '\n'; if (typeof frozenColumns != 'undefined' && typeof frozenColumns[index] != 'undefined') { for (var i = 0; i < frozenColumns[index].length; ++i) { if (!frozenColumns[index][i].hidden) { tableString += '\n'; } } } for (var i = 0; i < columns[index].length; ++i) { if (!columns[index][i].hidden) { tableString += '\n'; } } tableString += '\n'; }); } // 载入内容 var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行 var nl = eval('([' + nameList.substring(1) + '])'); for (var i = 0; i < rows.length; ++i) { tableString += '\n'; $(nl).each(function (j) { var e = nl[j].f.lastIndexOf('_0'); tableString += '\nhelp:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); } <script type="text/javascript"> function ChangeToTable(printDatagrid) { var tableString = '
1) { tableString += ' rowspan="' + frozenColumns[index][i].rowspan + '"'; } if (typeof frozenColumns[index][i].colspan != 'undefined' && frozenColumns[index][i].colspan > 1) { tableString += ' colspan="' + frozenColumns[index][i].colspan + '"'; } if (typeof frozenColumns[index][i].field != 'undefined' && frozenColumns[index][i].field != '') { nameList += ',{"f":"' + frozenColumns[index][i].field + '", "a":"' + frozenColumns[index][i].align + '"}'; } tableString += '>' + frozenColumns[0][i].title + ' 1) { tableString += ' rowspan="' + columns[index][i].rowspan + '"'; } if (typeof columns[index][i].colspan != 'undefined' && columns[index][i].colspan > 1) { tableString += ' colspan="' + columns[index][i].colspan + '"'; } if (typeof columns[index][i].field != 'undefined' && columns[index][i].field != '') { nameList += ',{"f":"' + columns[index][i].field + '", "a":"' + columns[index][i].align + '"}'; } tableString += '>' + columns[index][i].title + '
'; var frozenColumns = printDatagrid.datagrid("options").frozenColumns; // 得到frozenColumns对象 var columns = printDatagrid.datagrid("options").columns; // 得到columns对象 var nameList = new Array(); // 载入title if (typeof columns != 'undefined' && columns != '') { $(columns).each(function (index) { tableString += '\n'; if (typeof frozenColumns != 'undefined' && typeof frozenColumns[index] != 'undefined') { for (var i = 0; i < frozenColumns[index].length; ++i) { if (!frozenColumns[index][i].hidden) { tableString += '\n'; } } } for (var i = 0; i < columns[index].length; ++i) { if (!columns[index][i].hidden) { tableString += '\n'; } } tableString += '\n'; }); } // 载入内容 var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行 for (var i = 0; i < rows.length; ++i) { tableString += '\n'; for (var j = 0; j < nameList.length; ++j) { var e = nameList[j].field.lastIndexOf('_0'); tableString += '\n'); var i = $(''); var l = $(''); i.val(ChangeToTable(exportGrid)); i.appendTo(f); l.val(strXlsName); l.appendTo(f); f.appendTo(document.body).submit(); try { document.body.removeChild(f); } catch (e) { } } 打印 导出
1) { tableString += ' rowspan="' + frozenColumns[index][i].rowspan + '"'; } if (typeof frozenColumns[index][i].colspan != 'undefined' && frozenColumns[index][i].colspan > 1) { tableString += ' colspan="' + frozenColumns[index][i].colspan + '"'; } if (typeof frozenColumns[index][i].field != 'undefined' && frozenColumns[index][i].field != '') { nameList.push(frozenColumns[index][i]); } tableString += '>' + frozenColumns[0][i].title + ' 1) { tableString += ' rowspan="' + columns[index][i].rowspan + '"'; } if (typeof columns[index][i].colspan != 'undefined' && columns[index][i].colspan > 1) { tableString += ' colspan="' + columns[index][i].colspan + '"'; } if (typeof columns[index][i].field != 'undefined' && columns[index][i].field != '') { nameList.push(columns[index][i]); } tableString += '>' + columns[index][i].title + '
编号 姓名 详细信息 登录信息
地址 电话 邮箱 登录名 密码

编号:
姓名:
地址:
电话:
邮箱:
登录名:
密码:

62,046

社区成员

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

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

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

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