簡體   English   中英

如何用JavaScript方法獲取ASP.NET DataGrid控件的選定行索引?

[英]How to get selected row index of ASP.NET DataGrid Control in JavaScript Method?

Default.aspx中使用了一個DataGrid,並且Requirement是在javascript方法中獲取選定行的所有列的文本以將其復制到剪貼板。 當前,我正在執行此任務,但是它選擇了Grid的所有行,並將所有數據粘貼到剪貼板。

Default.aspx(示例文件)

<asp:GridView ID="ObjList" runat="server" OnLoad="xyz" AutoGenerateColumns="false" OnRowDataBound="ObjList_RowDataBound" AutoGenerateSelectButton="false"> 
<Columns>
  .
  .
  .
</Columns>

Sample Button,它調用javascript方法將數據復制到剪貼板。

<asp:ImageButton ID="BtnCopyToClipboard" ToolTip="Copy To Clipboard"   ImageUrl="img/tlb_list_copy.gif" OnClientClick="CopyGridView('ObjList'); return false;" runat="server" />

示例JavaScript函數:

function CopyGridView(gridId) {
var div = document.getElementById(gridId);

var sSelectedRowText = div.Rows[iPL_SelectedRowIndex].Value;
if (div != null) {
    div.contentEditable = 'true';
    var controlRange;
    if (document.body.createControlRange) {
        controlRange = document.body.createControlRange();
        controlRange.addElement(div);
        controlRange.execCommand('Copy');
        alert(InfoMsgClipboard);
    }
    div.contentEditable = 'false';
}
}

任何建議,如何識別網格中的選定行並僅復制剪貼板中的選定行數據。

function setSelectedRowId(RowId){
        document.getElementById("txtRowId").value = RowId; }

    private void ObjList_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
       if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.SelectedItem)
       {
          e.Item.Attributes.Add("onclick", "setSelectedRowId('" + e.Item.Cells[0].Text + "');
       }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM