【问题标题】:How to get selected row index of ASP.NET DataGrid Control in JavaScript Method?如何在 JavaScript 方法中获取 ASP.NET DataGrid 控件的选定行索引?
【发布时间】:2012-11-05 03:55:37
【问题描述】:

Default.aspx 中使用了一个DataGrid,要求是用javascript 方法获取所选行的所有列的文本,然后将其复制到剪贴板。目前,我正在执行此任务,但它选择了 Grid 的所有行并将所有数据粘贴到剪贴板。

Default.aspx(示例文件)

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

调用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';
}
}

任何建议,如何识别网格中的选定行并仅复制剪贴板中的选定行数据。

【问题讨论】:

  • 你用什么来选择行?
  • 看看它将是一个 jQuery/Java-Script 代码。因此,您将不得不查看如何将所选行与其他行区分开来。表示css类或其他东西,在它的基础上你可以找到价值。只是一个想法

标签: c# javascript asp.net visual-studio-2008 datagrid


【解决方案1】:
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 + "');
       }

【讨论】:

  • 我需要在哪里调用这个事件“ObjList_ItemDataBound”?
  • 在数据网格的属性中添加一个 OnItemDataBound="ObjList_ItemDataBound",绑定时它将使用 ObjList_ItemDataBound 方法。
猜你喜欢
  • 1970-01-01
  • 2015-09-24
  • 2015-01-23
  • 1970-01-01
  • 2014-09-27
  • 2023-04-07
  • 1970-01-01
  • 2011-12-23
  • 1970-01-01
相关资源
最近更新 更多