我有一个telerik gridview
<UserControl x:Class="TelerikGridViewComboBoxExample.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
<Grid x:Name="LayoutRoot" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="143*" />
<RowDefinition Height="157*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<TextBlock Text="Good Sample"/>
<telerik:RadGridView x:Name="radGridView"
AutoGenerateColumns="False" ItemsSource="{Binding Peoples}">
<telerik:RadGridView.Columns>
<telerik:GridViewComboBoxColumn
DataMemberBinding="{Binding CountryID}"
UniqueName="Country"
SelectedValueMemberPath="Id"
DisplayMemberPath="Name"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding FirstName}" UniqueName="First Name"/>
<telerik:GridViewDataColumn DataMemberBinding="{Binding LastName}" UniqueName="Last Name"/>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</StackPanel>
</Grid>
</UserControl>
这是一个xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.ObjectModel;
using Telerik.Windows.Controls;
namespace TelerikGridViewComboBoxExample
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
foreach (var x in
new People[] {
new People { CountryID = 0, FirstName = "Sebastain", LastName = "Vettel" },
new People { CountryID = 1, FirstName = "Fernando", LastName = "Alonso" },
new People { CountryID = 2, FirstName = "James", LastName = "Button" }
})
{
Peoples.Add(x);
}
foreach (var x in
new Country[] {
new Country { Id = 0, Name = "Germany",Nationality = "german"},
new Country { Id = 1, Name = "Spain" ,Nationality = "Spanish"},
new Country { Id = 2, Name = "UK" ,Nationality = "English"}
})
{
Countries.Add(x);
}
this.DataContext = this;
((GridViewComboBoxColumn)this.radGridView.Columns["Country"]).ItemsSource = Countries;
}
private ObservableCollection<People> peoples = new ObservableCollection<People>();
public ObservableCollection<People> Peoples
{
get { return peoples; }
set { peoples = value; }
}
private ObservableCollection<Country> countries = new ObservableCollection<Country>();
public ObservableCollection<Country> Countries
{
get { return countries; }
set { countries = value; }
}
}
public class People
{
public int CountryID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Country
{
public int Id { get; set; }
public string Name { get; set; }
public string Nationality { get; set; }
}
}
一切正常,但我想在国家/地区列中显示国籍,但现在我想在国家的组合名称中选择。
所以: 1.用户点击Country列中的行, 2.选择德国 3.排队的是Germnan。
如果不可能的话,我想首先在那一行,以及国家名称的最后一封信(例如“gy”)
我正在使用2010.1.603.1040版本的telerik silverlight pack。
有可能吗?
祝你好运
答案 0 :(得分:0)
通过在gridview代码中包含自定义字段(按钮)并使用记录ID(来自db)作为参数,使用switch case并使用row命令 谷歌“.net中的行命令”只是语法 然后你可以执行你想要执行的任何动作