Radgrid 편집에 Radcombobox 추가
-
16-09-2019 - |
문제
radcontrol, radgrid를 추가했으며 편집 모드에 Radcombobox를 추가해야합니다.
사용자가 Radcombobox를 클릭하면 사용자가 값을 업데이트 할 때 테이블에 저장하려면 Radcombobox의 "텍스트"및 "값"을 모두 가져와야합니다.
<telerik:RadComboBox ID="RadComboBox1" Runat="server"
DataSourceID="SqlDataSource1" DataTextField="docCategoryName"
DataValueField="docCategoryID" Height="200px" Skin="Vista">
사용자가 Radcombobox에서 선택하면 Datatextfield & Datavaluefield의 값을 Hiddenfield로 가져와야합니다.
해결책
program.x가 설명한 접근법은 매우 좋습니다. 물론 이것은 Radgrid의 gridtemplatecolumn 내부에 Radcombobox를 사용하는 경우 작동합니다.
Radgrid는 또한 내장을 제공합니다 GridDropDownColumn
편집 중에 Radcombobox를 자동으로 렌더링 할 수 있습니다. 내장 열 유형을 사용하기로 선택한 경우 렌더링 된 Radgrid의 클라이언트 측 이벤트 핸들러를 프로그래밍 방식으로 설정해야합니다.
protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
//Find GridEditableItems when in Edit mode
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
//Get reference to item (i.e. Row)
var item = e.Item as GridEditableItem;
//Get reference to auto-generated RadCombobox in
//specific column (in this case, a column called Title)
var rcb = item["Title"].Controls[0] as RadComboBox;
if (rcb == null)
return;
//Customize the RadCombobox properities
rcb.OnClientSelectedIndexChanged = "onselectedindexchanged";
}
}
"OnSelectedIndexChanged"는 Radcombobox 이벤트를 처리하도록 설계된 페이지의 클라이언트 측 JavaScript 기능의 이름입니다.
이러한 접근 방식 중 하나를 사용하면 목표를 달성 할 수 있어야합니다.
다른 팁
Telerik은 이것을 도와주는 최고의 사람들이지만 그들의 사이트 (및 기억에서) :
http://www.telerik.com/help/aspnet-ajax/combo_clientsideonclientselectedIndexChanged.html
Radcombo가있는 경우 :
<telerik:RadComboBox
ID="RadComboBox1"
runat="server"
OnClientSelectedIndexChanged="OnClientSelectedIndexChanged">
</telerik:RadComboBox>
JS 이벤트와 함께 :
<script language="javascript" type="text/javascript">
function OnClientSelectedIndexChanged(sender, eventArgs)
{
var item = eventArgs.get_item();
// get the text and value elements
var text=item.get_text();
var val=item.get_value();
$('#hiddenField').val(val);
}
</script>
여기서 Hiddenfield는 숨겨진 필드의 신분증입니다.