2013-07-30 3 views
0

Ultragrid에 URL과 같은 열 스타일이 있습니다. 이 열은 기본적으로 회색으로 표시된 읽기 전용입니다. 이제이 열을 편집 가능한 것으로 만들어야합니다. URL 인 경우 열 스타일을 변경하는 방법을 시도했습니다. 그러나 그것은 효과가 없습니다.UltragridColumn 스타일 URL을 편집 가능하게 만드는 방법

// 코드 :

If (CType(Field.FieldTypeId, ColumnStyle) = ColumnStyle.URL) Then 
     UltraGridColumn.Style = ColumnStyle.Default 
Else 
     UltraGridColumn.Style = CType(Field.FieldTypeId, ColumnStyle) 
End If 

내가 어떻게 이것을 달성 할 수 있습니까?

답변

1

UltraGridColumn을 편집 할 수있게하는 방법은 여러 가지 고유성에 따라 다릅니다.

우선, UltraGrid가 업데이트를 허용해야합니다. 이것은 당신이 전체 그리드를 업데이트 할 수 있도록이 속성과 특성

grid.DisplayLayout.Override.AllowUpdate = DefaultableBoolean.True 

에 의해 제어되는 (당신은이 있지만, 밴드 수준에서 동일한 속성을 적용 제한 할 수 있습니다). 당신은 (개인의 열에 대한)이 다른 속성

column.CellActivation = Activation.AllowEdit 
column.CellClickAction = CellClickAction.Edit 

그러나, 나는이 URL 스타일에 대한 몇 가지 연구를 만든

를 설정해야하기 때문에이 편집을 가능하게하는 것만으로는 충분하지 않습니다. 이 스타일은 어떤 식 으로든 링크 텍스트를 수정할 수 없도록하는 FormattedLinkEditor 개체를 열에 할당하는 것으로 보입니다 (라벨로 간주됩니다). 따라서 Infragistics의 누군가가 정상적인 편집 열을 사용하는 것이 좋습니다 않는 한 제안합니다. (물론, 당신의 의도는 링크 텍스트를 편집 할 경우에만 경우)

이 짧은 예는 셀에 클릭을 캡처하고 편집 세션을 시작하려고하지만 성공

private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) 
    { 
     UltraGridColumn cc = e.Layout.Bands[0].Columns[0]; 
     cc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.URL; 
     (cc.Editor as FormattedLinkEditor).LinkClicked += Form1_LinkClicked; 
     cc.CellActivation = Activation.AllowEdit; 
     cc.CellClickAction = CellClickAction.EditAndSelectText; 
     cc.Width = 500; 
    } 

    void Form1_LinkClicked(object sender, Infragistics.Win.FormattedLinkLabel.LinkClickedEventArgs e) 
    { 
     e.OpenLink = false; 
     ultraGrid1.PerformAction(UltraGridAction.EnterEditMode); 
    } 
+0

스티브 : 그것은 작동 스타일이 URL 인 열을 제외한 모든 항목에 대해 이 일에서 나를 도울 수 있니? – iamCR

+0

URL 스타일을 테스트했으며 실제로 읽기 전용입니다. 나는 그것을 수사하는 것을 시도 할 것이다 – Steve

+0

이 연결이 도움의 페이지다는 것을 검사하십시오 http://www.infragistics.com/community/forums/t/54671.aspx – Steve

관련 문제