(e.item.itemtype == listitemtype.item | e.item.itemtype == listitemtype.alternatingitem).

StackOverflow https://stackoverflow.com/questions/1202237

  •  05-07-2019
  •  | 
  •  

문제

ASP.NET에서 Datagrid를 사용하는 경우 실제로 바로 가기 방법이 없습니다.

(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem) 

기본적으로 "항목은 헤더, 바닥 글, 분리기가 아닌 항목입니다."

나는 하나를 찾을 수 없었지만, 내가 놓친 지 확인하기 위해 stackoverflow에 넣을 것이라고 생각했습니다.

도움이 되었습니까?

해결책

이를 위해 자신의 확장 방법을 만들 수 있습니다.

using System.Web.UI.WebControls;

public static class UiControlsHelper
{
    public static bool IsItem(this DataGridItem item)
    {
        return item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem;
    }
}

그런 다음 다음과 같이 사용할 수 있습니다.

e.Item.IsItem();

GridView와 동일합니다.

public static bool IsDataRow(this GridViewRow row)
{
    return row.RowType == DataControlRowType.DataRow;
}

다른 팁

사기 추가 된 대답 하나에게 내 질문에스.

교체 할 수 있습니다 :

if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType...

~와 함께

if (e.Item.DataItem != null) ...

그의 대답은 내 것이 아닙니다. 나는 그것을 테스트하지 않았다. 나는 그것이 있는지 모르겠다 :

  • 유효한
  • 문서화
  • 지원
  • .NET 프레임 워크의 향후 버전에서 변경 될 수 있습니다

DataItem이 할당 된 상황이있을 수 있지만 유효한 항목은 아닙니다. 나는 그것을 다른 사람들에게 맡기고, 투표하고, 투표하고, 의견을 말할 것입니다.

바로가 컷은 아니지만이를 기능으로 캡슐화하면 코드가 훨씬 더 읽을 수 있습니다.

확장 방법을 만들기위한 편리한 장소가 될 것입니다. . .

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top