我正在使用 asp.net 项目,而我正在使用带有Observable.fromArray("a1 a2 b1 c1 b2 c2".split("\\s"))
.groupBy(v -> v.charAt(1)) // <------------------
.flatMap(g -> g
.takeUntil(v -> v.charAt(0) == 'c') // <------------------
.toList())
.subscribe(...)
的GridView。
我在GridView上启用了编辑功能,因此我想在管理员编辑后更改行颜色并更新行。我怎么能这样做?
答案 0 :(得分:0)
您可以执行以下操作:
创建一个属性以记录您编辑的最后一行,并按ViewState
保持状态:
public int LastEditRowIndex
{
get { return (int)ViewState["LastEditRowIndex"]; }
set { ViewState["LastEditRowIndex"] = value; }
}
在NullPointer
的情况下指定默认值:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LastEditRowIndex = -1;
}
}
然后在更新完成时记录编辑的行索引:
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
LastEditRowIndex = GridView1.EditIndex;
}
最后,在RowDataBound
事件中更改 CSS :
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowIndex == LastEditRowIndex)
e.Row.CssClass = "bg-color-red";
}
不要忘记在样式表中添加样式:
.bg-color-red
{
background-color: Red;
}
答案 1 :(得分:0)
在GridView的开始和结束标记之间嵌套<AlternatingRowStyle>
元素。
<asp:GridView ID="GridView1" runat="server" >
<Columns>
</Columns>
<AlternatingRowStyle BackColor="DarkRed"
ForeColor="DarkBlue"
Font-Italic="true" />
</asp:GridView>
答案 2 :(得分:0)
将此代码放入GridView的RowDataBound
事件编辑部分:
protected void Databound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow &&
GVSocialMedia.EditIndex == e.Row.RowIndex)
{
YOUR GRIDVIEWID.EditRowStyle.BackColor = System.Drawing.Color.YOURCOLOUR;
}
}
答案 3 :(得分:0)
在GridView的RowUpdating
事件中试试这个:
GridViewRow gvrEdit = GridView1.Rows[e.RowIndex];
gvrEdit.BackColor = Color.LightPink;
答案 4 :(得分:0)
所以我已经尝试了一切,似乎没有什么对我有用,所以我做的是我在数据库中添加了一个新实体,并将其命名为Edited 然后我在Gridview中将Edited的可见性设置为false,并且当更新完成时,它将1插入到Edited
我将此代码添加到RowDataBound
Product
我知道这可能是一种糟糕的方式但它有效
答案 5 :(得分:-1)
您可以拥有OnRowUpdating
个事件并处理它。
void GridView1_RowUpdated(Object sender, GridViewUpdatedEventArgs e)
{
GridView1.Rows[e.RowIndex].Attributes.Add("style", "background-color:Red;");
}