如何使用Silverlight MVVM在Datagridview中为datagrid中的选定项目设置日期 [英] How to set date in datagridview for selected items in datagrid using silverlight mvvm
问题描述
你好,
我是Silverlight的新手.正在开发使用WCF服务与集合绑定的datagridview.我的问题在这里...我可以将表填充到datagrid.我将选择的项目添加到列表框中.我试图在列表框中选择项目并需要为此输入一些日期,然后再次在datagrid中进行更新.
这是示例代码:
学生
startDate
结束日期
保罗
2011/08/01
山姆
2011年8月2日
院长
2011/08/03
StartDate
列表框
保罗
萨姆
现在,如果我需要选择列表框项目,并在gridview..update中的gridview中分配开始日期
这是我的代码:
Hello,
I am new to silverlight.I am developing datagridview that is bind with collection using WCF service.My Problem here...I am able to popoulate table to datagrid.I am adding selected items to listbox.I am trying to select items in listbox and need to enter some date for that and update in datagrid again.
Here is sample Code:
Student
startDate
Enddate
Paul
08/01/2011
Sam
08/02/2011
Dean
08/03/2011
StartDate
Listbox
Paul
sam
Now If i need select listbox items and assign start date in textbox..update in gridview
Here Is my code:
<telerik:RadGridView Name="StudentInfoGrid" Grid.Row="2" Grid.ColumnSpan="2"
ItemsSource="{Binding studentCollection}"
SelectedItem="{Binding SelectedStudentInfo,Mode=TwoWay}"
IsReadOnly="True" SelectionChanged="StudentInfoGrid_SelectionChanged"
SelectionMode="Single">
<telerik:GridViewDataControl.Columns>
<telerik:GridViewDataColumn Header="studnet" DataMemberBinding="{Binding studentname}" TextAlignment="Left" Width="*">
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn x:Name="StartDate_GridView" Header="Start Date" DataMemberBinding="{Binding egStartDate,Converter={StaticResource dateConverter}}" MaxWidth="100" />
<telerik:GridViewDataColumn Header="End Date" DataMemberBinding="{Binding egEndDate,Converter={StaticResource dateConverter}}" MaxWidth="100" />
</telerik:GridViewDataControl.Columns>
</telerik:RadGridView>
<telerik:RadDatePicker x:Name="SetStartDate" Grid.Row="0" Grid.Column="1" SelectedValue="{Binding Path=listBoxSelectedItems.SelectedItems.egStartDate,Mode=TwoWay,Converter={StaticResource dateConverter}}" Width="150" HorizontalAlignment="Left" DisplayFormat="Long" Height="25" />
private void EmployeeGroupbtnClick(object sender, RoutedEventArgs e)
{
if (listBoxSelectedItems.SelectedIndex != -1)
{
//MessageBox.Show(SetStartDate.SelectedValue.ToString());
DateTime datePicker1 = SetStartDate.SelectedDate.Value;
//DateTime datepicker2 = SetEndDate.SelectedDate.Value;
foreach(var a in listBoxSelectedItems.SelectedItems)
{
Setdate(datePicker1);
ViewModel.SaveEmployeeGroupAssoc(a as EmployeeGroupAssocData);
}
}
}
public void Setdate(DateTime datePicker1)
{
this.ViewModel.EditedEmployeeGroupAssoc.OriginalEmployeeGroupAssoc.egStartDate = datePicker1;
}
请帮我解决这个问题.
预先谢谢您
Please help me out on this issue.
Thankyou in advance
推荐答案
你好
我相信您可以使用"GridViewTemplateColumn"代替"GridViewDataColumn".
这样,您可以使用文本框或类似DateTimePicker的控件输入值来为单元格创建模板.
Hello
I believe that you can use an "GridViewTemplateColumn" instead of "GridViewDataColumn".
That way, you can create a template for the cell, using a TextBox or a DateTimePicker-like control to input values.
这篇关于如何使用Silverlight MVVM在Datagridview中为datagrid中的选定项目设置日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!