如何以编程方式设置 RadGridView 列的值

How to set value of RadGridView's column programmatically

我有一个 RadGridView,只要用户单击 Insert 按钮,我就想为新生成的行的 Date 列设置值。如何将其值设置为 System.Date.Today?

Xaml 对于 RadGridview:

<telerik:RadGridView VerticalAlignment="Top" 
                      Name="grdProductGrid"
                      AutoGenerateColumns="False"
                      RowEditEnded="OnRowEditEnded"
                      CellValidating="OnCellValidating"
                      BeginningEdit="OnBeginningEdit">
    <telerik:RadGridView.Columns>
        <telerik:GridViewDataColumn x:Name="ID" 
                                DataMemberBinding="{Binding ProductID}" 
                                Header="ID" />

        <telerik:GridViewDataColumn x:Name="Code" 
                                DataMemberBinding="{Binding Code}" 
                                Header="Code" />

        <telerik:GridViewDataColumn x:Name="Date" 
                                DataMemberBinding="{Binding Path=Date, Mode=OneWay, StringFormat='{}{0:dd/MM/yyyy}'}" 
                                Header="Effective from" />

    </telerik:RadGridView.Columns>
</telerik:RadGridView>

以及 Insert 单击事件处理程序:

private void OnInsertClick(object sender, RoutedEventArgs e)
{
  this.grdProductGrid.BeginInsert();
}

在您设置 e.NewObject 等于您的网格绑定的新对象类型的 AddingNewDataItem 事件中...然后设置您的日期 属性。

private void YourRadGridView_AddingNewDataItem(object sender, 
    Telerik.Windows.Controls.GridView.GridViewAddingNewEventArgs e)
{
    YourObjectModel newItem = new YourObjectModel();
    newItem.Date = DateTime.Now;
    e.NewObject = newItem;
}

希望这对您有所帮助。 :)