string percentage = e.Row.Cells[7].Text;
나는 어떻게 해야 하는 것, 그래서 나는 내 일부 동적 그리드비에프 일부 코드를 통해 유선 백업하도록 로다타보런드 이벤트. 나는, 이는 특정 셀입니다 템판필드 에서 값을 얻을 수 있다. 그러나 코드 위에 항상 빈 문자열을 복귀할 것으로 보인다.
아무 생각 없어?
여기에 좀 더 명확하게 이해할 수 있도록 잘못된 셀:
<asp:TemplateField HeaderText="# Percentage click throughs">
<ItemTemplate>
<%# AddPercentClickThroughs((int)Eval("EmailSummary.pLinksClicked"), (int)Eval("NumberOfSends")) %>
</ItemTemplate>
</asp:TemplateField>
관련 참고, 누구 한 행에 셀입니다 선정 다운로드되었는지 더 좋은 방법이 있습니다. [1] '에서' 셀입니다 엿같군 있다. # 39, t 세포 couldn& 나는한다 ' [", mycellname"]' 만약 내가 내 습관, 버그 때문에 변경하십시오 셀입니다 주문하십시오 결정한 것?
텍스트 및 바인딩하지 ipv6-literal. 템판필드 사용할 때 마치 틀렸다니까 하고 (asp.net) 은 실제로 제어점 삽입하십시오 당신꺼에요! It gets 넣는 다타보런드리트럴콘트럴. 이 선 가까이에 있는 것을 보면 알 수 있듯이 갈수록 빈 코드 디버거를 사용한다.
그래서 액세스하려면 정보를 변경하지 않고 템플리트를 제어점 사용할 때와, 캐스트 다음과 같습니다.
string percentage = ((DataBoundLiteralControl)e.Row.Cells[7].Controls[0]).Text;
네 얻을 수 있는 텍스트!
지금 좋은 가치를 받을 수 있지만 이 같은 제안을 한 셀에 격자선 보기 없이 텍스트 안에 랩할 ipv6-literal. 또는 레이블 제어입니다. 방금 어떤 이벤트를 와이어 백업하도록 알고 있어야 합니다. 이 경우 다타보런드 같은 이벤트 대신 사용할 수 있습니다.
protected void GridView1_DataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[0].Text.Contains("sometext"))
{
e.Row.Cells[0].Font.Bold = true;
}
}
}
이 방법은 디버거 실행할 때 나타나는 텍스트를 볼 수 있습니다.
랩 (wrap) '의 첫 번째 할 수 있도록' 제어 코드에 참조 '또는' ipv6-literal. 레이블에만 제대로. # 39 의 what& 일이 에로남이네 there& # 39 의 무리라구 시스템의 추적할 수 있기 때문에 그것을 there& # 39, 텍스트 제어 연관됨 게 전혀 없다. # 39 의 control& it& # 39, 그 내용을 추가, 비에프스타트 책임입니다.
그리드비에w.핀드콘트럴 (controlName" ";) 를 사용해야 합니다. 행에서 제어할 수 있습니다. 여기서 'Text' 등 storagex 의 등록 정보를 얻을 수 있습니다.
문제가 있는 재산에 행일 다테이트마 볼 수도 있습니다 선수단 및 캐스트 redhat. 유형 및 푸십시오 적절한 정보를 직접.
그냥 루프를 사용하는 확인하는 셀의 그리드비에프 예를 들면 다음과 같습니다.
for (int i = 0; i < GridView2.Rows.Count; i++)
{
string vr;
vr = GridView2.Rows[i].Cells[4].Text; // here you go vr = the value of the cel
if (vr == "0") // you can check for anything
{
GridView2.Rows[i].Cells[4].Text = "Done";
// you can format this cell
}
}
'기능을 사용할 수 있는' 로다타보런드 바인딩하도록 퍼트리쿠라르 셀을 사용하여 데이터 제어 (ASP 제어입니다 드로프다운리스트 같이 이름) '' 그리드비에w.핀드콘트럴 (Control" 이름 ";)
내가 찾은 적이 있지만, 이와 같은 질문을 통해 솔루션 약간 다른 외곽진입. 내가 처음 제안한 크리스씨가 찾는 대신 제어 방식 변경 등 현장 이아스파스 페이지를 지정되었습니다. ',' 내가 사용하는 대신, 태그, < asp 템판필드 .> 필드의 질문, ',' < asp 보런드필드 .> 변경일 사용할 수 있습니다. 그 시절 나는 attaboy 로다타보런드 이벤트에 대한 데이터를 셀의 직접 액세스할 수 있습니다.
관련 부분. 첫째, 영문 페이지:
<asp:GridView ID="gvVarianceReport" runat="server" ... >
...Other fields...
<asp:BoundField DataField="TotalExpected"
HeaderText="Total Expected <br />Filtration Events"
HtmlEncode="False" ItemStyle-HorizontalAlign="Left"
SortExpression="TotalExpected" />
...
</asp:Gridview>
그럼 내가 할 수 있는 값을 직접 액세스하십시오 로다타보런드 이벤트:
protected void gvVarianceReport_Sorting(object sender, GridViewSortEventArgs e)
{
if (e.Row.Cells[2].Text == "0")
{
e.Row.Cells[2].Text = "N/A";
e.Row.Cells[3].Text = "N/A";
e.Row.Cells[4].Text = "N/A";
}
}
, 왜 이 사람이 할 수 있는 경우, d # 39 는 I& 의견 감사합니다. 내가 왜 보런드필드 don& # 39 에 있지 않고, 완전히 이해할 수 없는 값을 통해 it up 할 수 있지만, 이후 셀입니다 바인딩해야 포착하십시오 제어입니다.
<asp:BoundField DataField="F1" HeaderText="F1" Visible="False"/>
foreach (GridViewRow row in myGrid.Rows)
{
userList.Add(row.Cells[0].Text); //this will be empty ""
}
그러나 열 설정할 수 있습니다 다음 여기에서 이렇게 이벤트 론로다타보런드 격자선의 연결해 볼 수 없습니다.
e.Row.Cells[0].Visible = false //now the cell has Text but it's hidden
<asp:TemplateField HeaderText="# Percentage click throughs">
<ItemTemplate>
<%# AddPercentClickThroughs(Convert.ToDecimal(DataBinder.Eval(Container.DataItem, "EmailSummary.pLinksClicked")), Convert.ToDecimal(DataBinder.Eval(Container.DataItem, "NumberOfSends")))%>
</ItemTemplate>
</asp:TemplateField>
public string AddPercentClickThroughs(decimal NumberOfSends, decimal EmailSummary.pLinksClicked)
{
decimal OccupancyPercentage = 0;
if (TotalNoOfRooms != 0 && RoomsOccupied != 0)
{
OccupancyPercentage = (Convert.ToDecimal(NumberOfSends) / Convert.ToDecimal(EmailSummary.pLinksClicked) * 100);
}
return OccupancyPercentage.ToString("F");
}
protected void gvbind_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onmouseover"] = "this.style.cursor='hand';";
e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';";
e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.gvbind, "Select$" + e.Row.RowIndex);
}
}