GridView获取行的各单元格数据

GridView获取行的各单元格数据前,我们比需得到当前行的行号

获取相关行号的方法可以参照以下连接

Gridview把行号绑定到链接中

 

int index=Convert.ToInt32(e.CommandArgument);
GridViewRow row =GridView1.Rows[index];
取出某列的语句是:string bhText=row.Cells[1].Text;

转载于:https://www.cnblogs.com/ray_yoyo/archive/2010/11/29/1890914.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现这样的功能,可以使用GridView控件的内置事件和属性。具体步骤如下: 1. 在GridView控件中设置属性`AutoGenerateColumns="false"`,手动添加。 2. 为GridView控件绑定数据源。 3. 为GridView控件添加事件`RowDataBound`,在事件中为每一单元格添加`onkeydown`事件。 ```aspx <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound"> <Columns> <asp:BoundField DataField="Name" HeaderText="Name" /> <asp:BoundField DataField="Age" HeaderText="Age" /> <asp:BoundField DataField="Gender" HeaderText="Gender" /> </Columns> </asp:GridView> ``` ```csharp protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 绑定数据GridView1.DataSource = GetData(); GridView1.DataBind(); } } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { // 为每一单元格添加onkeydown事件 foreach (TableCell cell in e.Row.Cells) { cell.Attributes.Add("onkeydown", "return MoveNextCell(event)"); } } } private DataTable GetData() { // 模拟数据 DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Age"); dt.Columns.Add("Gender"); dt.Rows.Add("Tom", "20", "Male"); dt.Rows.Add("Jerry", "18", "Female"); dt.Rows.Add("Alice", "22", "Female"); return dt; } ``` 4. 编写JavaScript函数`MoveNextCell`,在函数中判断按下的键是否是回车键,如果是则获取当前单元格,然后焦点移动到下一同一单元格。 ```javascript function MoveNextCell(e) { var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode; if (keyCode == 13) { // 回车键 var currentCell = e.srcElement || e.target; var currentRow = currentCell.parentNode.parentNode; var currentRowIndex = currentRow.rowIndex; var currentCellIndex = currentCell.cellIndex; var nextRow = currentRow.nextSibling; while (nextRow) { // 查找下一 if (nextRow.nodeType == 1) { var nextCell = nextRow.cells[currentCellIndex]; if (nextCell) { // 如果存在同一单元格 nextCell.focus(); break; } } nextRow = nextRow.nextSibling; } return false; } return true; } ``` 通过以上步骤,就可以实现在GridView控件中获取当前单元格的焦点,按回车会获取下一同一单元格焦点的功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值