2011-10-11 2 views
4

(Telerik RadGrid)에서 값을 검색 세포 코드 숨김,하지만 난 다음 시도했습니다 ...은 "평가"표현의 값을 얻을 수있는 방법을 찾을했습니다 : 모든 동안,서버 측에서 GridTemplateColumn 내 aspx 페이지에 다음 코드가 (간체) 한

rgd_grid.MasterTableView.Items[0]["Unique"].Text; 

그러나 텍스트 속성이 비어를 다른 것은 정확합니다. 사실, 나는 많은 다른 것들을 시도했지만 이것은 목표에 가장 가깝게 보인다.

감사합니다. 모든 도움에 감사드립니다!

답변

4

반환 된 항목이 헤더 또는 이와 유사한 것이 아닌가요? 헤더가 결과에 포함되어 있지만 잘못 될 수 있습니다. 같은 체크를 추가하십시오 :

그래도 작동하지 않는다면, 템플릿 내에서 Label 컨트롤을 사용하고 ID로 컨트롤을 찾는 것이 좋습니다.

+0

R AdGrid는 데이터 키를 지원하며 데이터 검색을위한 다양한 기능을 제공합니다. 셀에서 * value *를 가져올 필요가 없습니다. –

+0

@James, 예, 데이터를 사용자에게 표시하려면 ... 또한 열 유형이 GridBoundColumn 인 경우 Value 속성을 사용해야합니다. 값을 사용할 수있는 시나리오가 많이 있습니다. 재산 .... –

+0

우리는 두 가지 다른 것에 대해 이야기하고 있다고 생각합니다. 셀에서 텍스트를 가져 오는 대신 데이터 키를 사용할 수 있습니다. –

2

그리드에서 값을 검색하려면 데이터 키를 사용해야합니다.

는이 같은, 당신이 필요로하는 열을 지정 MasterTableViewDataKeyNames 속성을 사용할 수 있습니다 :

<telerik:RadGrid ID="RadGrid1" runat="server" ...> 
    <MasterTableView DataKeyNames="Col1, Col2, Col3" ...> 

을 그리고 다음 숨김 코드 : 여기

string col1 = RadGrid1.Items[0].GetDataKeyValue("Col1").ToString(); 
+0

셀의 '리터럴'내용을 검색하는 다른 방법이 없습니까? DataBinder.Eval (Container.DataItem, "InOut"). Equals ("I")? "In": "Out"... DataKey는 "In"대신 "I"를 반환합니다 (예) ... 답장을 보내 주셔서 감사합니다! – Kira

+0

셀에서 문자 그대로의 콘텐츠를 가져 오는 것에 대한 Brian의 대답을 참조 할 수 있습니다. –

0

같은 다른 방법 DataBinder를 사용하여 리터럴 컨텐트를 표시하고 표시했습니다.

protected void RadGrid_OnItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) 
    { 
     if (e.Item is GridDataItem) 
     { 
      GridDataItem dataItem = e.Item as GridDataItem; 
      var test = DataBinder.Eval(dataItem.DataItem, "Column").ToString();     
     } 
    } 
관련 문제