(np ustawić rowcolor oparciu o ukrytej wartości)uzyskać wartości z ukrytych komórek w gridview asp.net C# za pomocą onrowdatabound
jeśli masz GridView, który ukryty komórki jak ten
<asp:GridView ID="Timeevents" runat="server"
OnRowDataBound="Timeevents_RowDataBound"
OnRowCommand = "Timeevents_RowCommand"
AutoGenerateColumns="False">
<columns>
<asp:BoundField DataField="CaseID" HeaderText="CaseID" Visible = "False" />
<asp:BoundField DataField="caseworkerID" HeaderText="CwID" Visible = "False" />
<asp:BoundField DataField="EventTypeID" HeaderText="EvTypeID" Visible = "False" />
<asp:BoundField DataField="CaseWorker" HeaderText="Case Worker" />
<asp:BoundField DataField="EventDate" HeaderText="Event Date" />
<asp:BoundField DataField="Code" HeaderText="Code" />
<asp:BoundField DataField="TotalUnits" HeaderText="Total Units" />
<asp:BoundField DataField="EventType" HeaderText="Event Type" />
<asp:BoundField DataField="UnitCost" HeaderText="Unit Cost" />
<asp:BoundField DataField="TotalCost" HeaderText="Total Cost"/>
<asp:TemplateField HeaderText="ADD">
<ItemTemplate>
<asp:Button ID="AddUnit" runat="server" Text=" +1 "
CommandName="AddUnit"
CommandArgument='<%# Eval("CaseID")+ ";" + Eval("CaseworkerID")+ ";" + Eval("EventDate")+ ";" + Eval("EventTypeID")+ ";" + ("1")%>'/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
następnie go wydaje się niemożliwe, aby uzyskać te wartości w onRowDatabound Handler użyciu (e.Row.Cells [2] .text)
mam wokół tego problemu przez nie ustawienie dowolnego z BoundFields do Visible = „false” więc są widoczne = "true" domyślnie. uzyskanie wartości, które potrzebowałem w module obsługi onRowDatabound w kodzie, a następnie uczynienie ich niewidocznymi później. lubię to.
protected void Timeevents_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{ // just for the datarows
int a = (int.Parse(e.Row.Cells[2].Text));
if (a % 2 == 0)
{
e.Row.BackColor = System.Drawing.Color.Gainsboro;
}
else
{
e.Row.BackColor = System.Drawing.Color.White;
}
}
// end if so this applies to header and data rows
e.Row.Cells[0].Visible = false;
e.Row.Cells[1].Visible = false;
e.Row.Cells[2].Visible = false;
}
bycia dość zielony zajęło mi sporo googlowania runda wielu forach i debugowania, aby dowiedzieć się, że opiekun nie mogę zobaczyć ukrytych pól z danymi i nie mogłem się znaleźć odpowiedź, w jaki sposób ustawić rowcolour na podstawie ukryte pole, więc chciałem po prostu opublikować to dla innych, aby znaleźć
Jeśli jakikolwiek ekspert zna lepszy lub alternatywny sposób, być może mogliby dodać trochę kodu/komentarzy na zdrowie!
Dzięki V Znacznie Kaf ... i nie było mi do myślenia byłem smarty spodnie czy coś !! – Sonny123