查询数据部分前台界面我们使用Silverlight 2自带的DataGrid控件绑定数据。前台非常简单,只是一个DataGrid控件,但是前段时间有的同学问DataGrid控件不知怎么弄进来。这里详细说明一下。
第一步:在Silverlight工程中添加引用

附件:
您所在的用户组无法下载或查看附件第二步:查找System.Windows.Controls.Data程序集,添加进来

附件:
您所在的用户组无法下载或查看附件第三步:在UserControl中添加这个引用,有智能感知。我将其命名为Data。

附件:
您所在的用户组无法下载或查看附件前台代码<Button x:Name="reButton" C Width="50" Height="30" Grid.Row="0"></Button>
<Data:DataGrid x:Name="userDataGrid" Height="200" Width="700" Margin="0,5,0,10"
AutoGenerateColumns="True" VerticalAlignment="Top" Grid.Row="1">
</Data:DataGrid>
后台代码//显示数据
void ListingControlDisplay(object sender, RoutedEventArgs e)
{
WebServiceProxy.UserManageSoapClient userMgrSoapClient =
new YJingLee.WebSrv.WebServiceProxy.UserManageSoapClient();
userMgrSoapClient.RetrieveUsersAsync();
userMgrSoapClient.RetrieveUsersCompleted +=
new EventHandler<YJingLee.WebSrv.WebServiceProxy.
RetrieveUsersCompletedEventArgs>(userMgrSoapClient_RetrieveUsersCompleted);
}
void userMgrSoapClient_RetrieveUsersCompleted(object sender,
YJingLee.WebSrv.WebServiceProxy.RetrieveUsersCompletedEventArgs e)
{
if (e.Error == null)
displayData(e.Result);
}
private void displayData(string xmlContent)
{
try
{
if (xmlContent != string.Empty)
{
XDocument xmlUsers = XDocument.Parse(xmlContent);
var users = from user in xmlUsers.Descendants("User")
select new
{
UserID = Convert.ToInt32(user.Element("UserID").Value),
UserName = (string)user.Element("UserName").Value
};
List<User> usersList = new List<User>();
foreach (var u in users)
{
User use = new User { UserID = u.UserID, UserName = u.UserName };
usersList.Add(use);
}
userDataGrid.ItemsSource = usersList;
}
else
{
userDataGrid.ItemsSource = null;
}
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
}
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
}