gpt4 book ai didi

c# - 在回传之间存储 GridViewRow 对象

转载 作者:行者123 更新时间:2023-11-30 16:22:30 25 4
gpt4 key购买 nike

我使用以下代码突出显示用户在 gridview 中单击的行(并取消突出显示先前选择的行):

    protected void PartListRowClicked(object sender, GridViewRowClickedEventArgs e)
{
pnewrow = (GridViewRow)PartList.Rows[e.Row.RowIndex];
pnewrow.BackColor = Color.Blue;
pnewrow.ForeColor = Color.White;
if (poldrow != null)
{
poldrow.BackColor = Color.Empty;
poldrow.ForeColor = Color.Black;
}
poldrow = pnewrow;
}

但是,poldrow 对象在回发后总是重置为 null(单击导致回发)。有没有办法在回发之间保存行索引?或者,是否有更好的方法来实现此功能?

谢谢

最佳答案

当然,可以将 oldRow(index) 存储在服务器上。例如,您可以使用 ViewStateSession var。但是我到服务器和返回服务器的路很长 只是为了改变一行的颜色/样式。所以我建议使用 JQuery 来更改行的样式,除非您必须注意服务器上的 rowClicked 事件?!

<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript">
var oldRow = null;
var newRow = null;
$(document).ready(function () {
// gvProducts is my gridView
$("#gvProducts tr:gt(0)").click(function () {
oldRow = newRow;
newRow = $(this);

newRow.css("background-color", "blue");
newRow.css("color", "white");

if (oldRow != null) {
oldRow.css("background-color", "transparent");
oldRow.css("color", "black");
}
});
});
</script>

使用此脚本,您留在客户端,您的客户端不必为了设置样式而回发到服务器!

关于c# - 在回传之间存储 GridViewRow 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12394488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com