如何获取grid中一行里的某一列,并给他赋值

如何获取grid中一行里的某一列,并给他赋值,第1张

通过事件(比如鼠标事件),事件的参数eRowIndex获取当前选定的行。 赋值的话可以通过如下语句: datagridviewRows[eRowIndex]Cells["列名"]=XXX; 实现 同理,eColumnIndex可以获取当前的列

jQuery 提供了index()方法用于获取第一个匹配元素相对于其同胞元素的 index 位置(从0开始计数),基本语法为:$(selector)index()。因此当前 tr 的 index 可以得到行数,当前 td 的 index 可以得到列数。实例演示如下:

1、HTML结构

<table id = "test">

<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>

<tr><td>2</td><td>4</td><td>5</td><td>6</td></tr>

<tr><td>3</td><td>7</td><td>8</td><td>9</td></tr>

<tr><td>4</td><td>1</td><td>2</td><td>3</td></tr>

</table>

2、jquery代码

$(function(){

    $("table td")click(function() {

        var row = $(this)parent()index() + 1; // 行位置

        var col = $(this)index() + 1; // 列位置

        alert("当前位置:第"+row+"行,第"+col+"列")

    });

});

3、效果演示

给你个简单的示例吧

<body>

<table id="tab">

<tr><td>0</td></tr>

<tr id="x"><td>1 在此行下插入新行</td></tr>

<tr><td>2</td></tr>

</table><br>

<input type="button" onclick="javascript:instTR()" value="插入行">

<script type="text/javascript">

function instTR(){

var tab=documentgetElementById('tab');

var n=documentgetElementById('x')rowIndex+1;

var tr=tabinsertRow(n);

var td=trinsertCell(0);

tdinnerHTML='new '+Mathrandom();

}

</script>

</body>

在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引

protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){

        if (eCommandName == "QianRu")

    {    

     //取ID的值方法一   

              GridViewRow drv = ((GridViewRow)(((LinkButton)(eCommandSource))ParentParent)); //此得出的值是表示那行被选中的索引值

              inf id=ConvertToInt32(GridView1DataKeys[drvRowIndex]Value); //此获取的值为GridView中绑定数据库中的主键值

          

      //取ID的值方法二   

              GridViewRow drv = ((GridViewRow)(((LinkButton)(eCommandSource))ParentParent)); //此得出的值是表示那行被选中的索引值

              //此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drvRowIndex取得是选中行的索引

          int id = ConvertToInt32(GridView1Rows[drvRowIndex]Cells[0]Text); 

          

      //取ID的值方法三  

          //因为在客户端中就已经将LinkButton的CommandArgument与主键Id给绑定了所以在此可以直接用eCommandArgument得出主键ID的值

          int id = ConvertToInt32(eCommandArgumentToString()); 

        }

    }

代码如下:

<script>

  //js放到table下,才能检测到tr数组

  var trs = documentgetElementById("tableBox")getElementsByTagName("tr");

 var trs=documentgetElementById("tableBox")getElementsByTagName("tr");

     $(function(){

         for(var i=0;i<trslength;i++){

             trs[i]onmousedown = function(){

                 mousedownclick(this);

             }

         }

     });

     function mousedownclick(obj){

         for(var j=0;j<trslength;j++){

             if(trs[j]==obj){

                 trs[j]stylebackground='blue';

             }else{

                 trs[j]stylebackground='';

             }

         }

     }

</script>

扩展资料

js *** 作table的各种用法:

(1)得到table 中tbody 的内容 :$('#simple-table')find('tbody')html();

(2)点击td时,获取点击的行号

$('#simple-table tbody')on( 'click', 'td', function (e) {

normalRowIndex = $(this)parent()index(); //行号

consolelog("正常工作表行:"+normalRowIndex);

});

(3)为table追加一行:

function addNormalTR(){

$('#simple-table')find('tbody')append(trtd); //tdtd为拼接的trtd 的html内容。

}

(4) 点击td中的元素获取,当前行号: objparentNodeparentNoderowIndex;//obj 为元素对象

windowonload = function(){

var trs = documentgetElementsByTagName('tr');

for(var i=0;i<trslength;i++)

{

var tds=trs[i]getElementsByTagName('td');

for(var j=0;j<tdslength;j++)

{

tds[j]onclick = function(){

alert(thisinnerHTML);

}

}

}

}

这样就可以了。不过要注意,js里面对应每一行有rowIndex这个值,但是对每个cell(就是你说的每一行里的每个列)就没有类似的东西了。

以上就是关于如何获取grid中一行里的某一列,并给他赋值全部的内容,包括:如何获取grid中一行里的某一列,并给他赋值、jquery如何获得表格所在的行数和列数、我想在一个表格里面特定的tr后面增加一行,用javascript应该如何做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9532608.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存