[英]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.