ASPX 페이지에서 CommandField SELECT Visibilty를 설정하십시오
-
16-09-2019 - |
문제
GridView와 함께 이런 일을하고 싶습니다.
<asp:CommandField ShowSelectButton="True" Visible='<%# return Eval("SC_TABLE") %>' />
그러나 그것은 작동하지 않습니다. 오류가 발생합니다.
데이터 바인딩 표현식은 데이터베이닝 이벤트가있는 객체에서만 지원됩니다. System.Web.ui.WebControls.Commandfield에는 데이터베이닝 이벤트가 없습니다.
어쨌든 ASPX 페이지에서 가시성을 설정할 수 있습니까? 추신 : sc_table은 데이터 소스에서 존재하므로 해당 부분에서는 아무런 문제가 없습니다.
해결책
대신 템플릿 필드 로이 작업을 수행 할 수 있습니다 ...
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID=SelectButton CommandName="SELECT" Visible='<%# Eval("SC_TABLE") %>' Text="Select" />
</ItemTemplate>
</asp:TemplateField>
다른 팁
나는 끝에서 답을 찾았다 이 게시물:
기본적으로 Datagrid에서 RowCreated 이벤트를 캡처해야합니다.
onrowcreated = "gridview1_rowcreated"
그런 다음 ASPX.CS 페이지에서 다음 코드를 사용하여 컨트롤을 숨 깁니다.
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex == 1)
{
e.Row.Cells[0].Controls.Clear();
}
}
첫 번째 열에 명령 필드가있는 경우 작동합니다.
제휴하지 않습니다 StackOverflow