Telerik RadGridを使用する場合、Telerik APIを使用して、設定できる2つのプロパティ(DataKeyNamesとClientDataKeyNames)を提供する必要があります。最初のデータソースに列が表示されている限り、これらの2つのプロパティで指定したものは、サーバー側とクライアント側の両方にアクセスできます。変更され、選択したインデックス上の隠しフィールドの値をサーバー側の取得のSelectedIndexChanged(サーバ側)とOnRowSelected(クライアント側)
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false"
OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged">
<MasterTableView DataKeyNames="Id,HiddenVal1,HiddenVal2" ClientDataKeyNames="Id,HiddenVal1,HiddenVal2,clientsideSpecialId">
<Columns>
<telerik:GridButtonColumn CommandName="Select" Text="Select" UniqueName="SelectColumn" />
<telerik:GridBoundColumn UniqueName="ContactName" HeaderText="Contact name" DataField="ContactName" />
<telerik:GridBoundColumn UniqueName="ContactTitle" HeaderText="Contact title" DataField="ContactTitle" />
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowSelected="RowSelected"/>
</ClientSettings>
</telerik:RadGrid>
にこれらの値を取得する方法について、以下に含ま:
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
if (RadGrid1.SelectedItems == null || RadGrid1.SelectedItems.Count == 0)
return;
var dataItem = RadGrid1.SelectedItems[0] as GridDataItem;
if (dataItem != null)
{
var myId = dataItem.GetDataKeyValue("id").ToString();
var hiddenfield1 = dataItem.GetDataKeyValue("HiddenVal1").ToString();
//do stuff
}
}
してから取得しClientEvents OnRowSelectedを使用して、非表示フィールドの値をクライアント側で選択します。
function RowSelected(sender,eventArgs)
{
var HiddenVal1 = eventArgs.getDataKeyValue("HiddenVal1")
//do stuff
}
html - 私はDataItemをどのように割り当てるのですか?私は構文が必要です! – user559142
RadGridについてはわかりません(上記のコメントを見て、telerikタグに気づきました) –
私はそれが重要だとは思わない - このツールは.NET実装上に構築されているのでGridViewと同じです...そうでなければ私はどのようにしますかGridViewの場合 – user559142