我在ASP.NET Web表单中使用GridView控件来显示数据记录。我想处理GridView行的双击事件。我也应该获得点击哪一行的信息。
答案 0 :(得分:5)
请参阅这篇精彩的文章,以帮助您解决问题 http://www.codeproject.com/Articles/15677/Clickable-and-Double-Clickable-Rows-with-GridView
答案 1 :(得分:0)
使用命令名cmdDoubleClick添加GridView和asp:ButtonField控件。
<Columns>
<asp:ButtonField Text="DoubleClick" CommandName="cmdDoubleClick" />
</Columns>
在您的代码隐藏
中protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
// Get the selected index and the command name
int selectedIndex = int.Parse(e.CommandArgument.ToString());
string commandName = e.CommandName;
if (commandName == "cmdDoubleClick")
this.Message.Text += "Double clicked GridView row at index "
+ selectedIndex.ToString() + "<br />";
}
答案 2 :(得分:0)
Protected Sub GridView2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridView1.SelectedIndexChanged
Dim row As GridViewRow = GridView1.SelectedRow
Dim i As Integer = 0
GridView1.Rows(row.RowIndex).BackColor = ColorTranslator.FromHtml("#A1DCF2")
MsgBox(doubleClick & " " & GridView1.SelectedIndex.ToString)
If doubleClick = GridView1.SelectedIndex.ToString Then
MsgBox("Yo")
End If
doubleClick = GridView1.SelectedIndex.ToString
End Sub
答案 3 :(得分:0)
试试我写的这个简单代码。它对我有用。
Protected Sub GridView2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridView1.SelectedIndexChanged
Dim row As GridViewRow = GridView1.SelectedRow
Dim i As Integer = 0
GridView1.Rows(row.RowIndex).BackColor = ColorTranslator.FromHtml("#A1DCF2")
MsgBox(doubleClick & " " & GridView1.SelectedIndex.ToString)
If doubleClick = GridView1.SelectedIndex.ToString Then
MsgBox("Yo")
End If
doubleClick = GridView1.SelectedIndex.ToString
End Sub
答案 4 :(得分:0)
在尝试了许多不成功之后,我使用Jquery通过以下方式完成了该任务:
$('html').on('click', ".wwdblclick", function (e) {
e.preventDefault;
return false;
});
$('html').on('dblclick', ".wwdblclick", function (e) {
var x = $(this).attr("href").replace("javascript:", "");
$(this).attr("ondblclick", x);
if (!(typeof $(this).attr("wwRunningDblclick") !== "undefined")) {
$(this).attr("wwRunningDblclick", "true");
$(this).trigger("dblclick");
}
else {
$(this).removeAttr("wwRunningDblclick");
}
});
然后只需在网格按钮命令中设置“ wwdblclick” cssClass,如下所示:
<asp:LinkButton ID="lkbX" runat="server" Text="<i class=icon-minus-sign></i>" CssClass="wwdblclick" CommandName="action" CommandArgument='<%# Eval("id") %>' />
干杯
答案 5 :(得分:-1)