0

我创建了一个数据网格。现在我想使用 RestSharp 将我编辑的单元格保存在数据库中。我读到它适用于 IEditableObject。

我试图插入它。这是我的 ViewModel 的开始:

class LDViewModel : NotifyPropertyBase, IEditableObject

然后创建了 BeginEdit、CancelEdit 和 EndEdit 方法。我将代码添加到 EndEdit 类:

public void EndEdit()
{
    var client = new RestClient("MYDOMAIN");
    var request = new RestRequest("THINGS", Method.POST)
        .AddUrlSegment("name", Name)
        .AddUrlSegment("kompetenzID", LDCurrentKompetenz.KompetenzID)
        .AddUrlSegment("ergebnis", LDCurrentKompetenz.Ergebnis)
        .AddUrlSegment("stufe", LDCurrentKompetenz.Stufe)
        .AddUrlSegment("niveau", LDCurrentKompetenz.Niveau)
        .AddUrlSegment("note", LDCurrentKompetenz.Note)
        .AddUrlSegment("datum", LDCurrentKompetenz.Datum)
        .AddUrlSegment("kuerzel", LDCurrentKompetenz.Kuerzel)
        .AddHeader("Authorization", "Bearer " + ViewFingerPrint);

    IRestResponse restResponse = client.Execute(request);

    if (restResponse.StatusCode == HttpStatusCode.BadRequest)
        MessageBox.Show("Irgendetwas stimmt mit der Verbindung nicht.");
    else
        MessageBox.Show("Die Leistungsdokumentation wurde erfolgreich aktualisiert.");
}

这就是我的 DataGrid 的样子:

<DataGrid ItemsSource="{Binding LDKompetenzen, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}" IsReadOnly="False" AutoGenerateColumns="False" CanUserDeleteRows="True" CanUserAddRows="True" CanUserSortColumns="True" FontSize="12" Height="Auto" BorderThickness="0" SelectedItem="{Binding LDCurrentKompetenz.KompetenzID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}">
                    <DataGrid.Resources>
        <Style BasedOn="{StaticResource {x:Type DataGridColumnHeader}}" TargetType="{x:Type DataGridColumnHeader}" >
            <Setter Property="Background" Value="LightGray" />
            <Setter Property="Foreground" Value="Black" />
            <Setter Property="BorderBrush" Value="Black"/>
            <Setter Property="BorderThickness" Value="1 1 1 1"/>
            <Setter Property="Margin" Value="-1,-1,0,0" />
            <Setter Property="Height" Value="28" />
            <Setter Property="Width" Value="auto"/>
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="FontWeight" Value="SemiBold"/>
            <Setter Property="FontStyle" Value="Italic"/>
            <Setter Property="FontSize" Value="15"/>
            <Setter Property="Padding" Value="15,0,15,0"/>
        </Style>
    </DataGrid.Resources>
    <DataGrid.Columns>
        <DataGridTextColumn Header="Kompetenz" Binding="{Binding Kompetenz, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}" IsReadOnly="True">
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="TextBlock.Background" Value="{Binding Background}" />
                    <Setter Property="HorizontalAlignment" Value="Stretch"/>
                    <Setter Property="VerticalAlignment" Value="Stretch"/>
                    <Setter Property="TextAlignment" Value="Center"/>
                    <Setter Property="Padding" Value="0,20,0,0"/>
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
        <DataGridTemplateColumn Header="Farben" IsReadOnly="True">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
                        <Button Content="" Background="White" Margin="2" Padding="5,3,5,3"></Button>
                        <Button Content="" Background="Yellow" Margin="2" Padding="5,3,5,3"></Button>
                        <Button Content="" Background="LightGreen" Margin="2" Padding="5,3,5,3"></Button>
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
        <DataGridTextColumn Header="Stufe" Binding="{Binding Stufe, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}" >
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="HorizontalAlignment" Value="Center"/>
                    <Setter Property="VerticalAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
        <DataGridTextColumn Header="Niveau" Binding="{Binding Niveau, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}">
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="HorizontalAlignment" Value="Center"/>
                    <Setter Property="VerticalAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
        <DataGridTextColumn Header="Ergebnis" Binding="{Binding Ergebnis, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}">
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="HorizontalAlignment" Value="Center"/>
                    <Setter Property="VerticalAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
        <DataGridTextColumn Header="Note" Binding="{Binding Note, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}">
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="HorizontalAlignment" Value="Center"/>
                    <Setter Property="VerticalAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
        <DataGridTemplateColumn Header="Datum">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <DatePicker SelectedDate="{Binding Datum, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}" BorderThickness="0" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
        <DataGridTextColumn Header="Kürzel" Binding="{Binding Kuerzel, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}">
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="HorizontalAlignment" Value="Center"/>
                    <Setter Property="VerticalAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

不幸的是,他没有使用 RestSharp 执行命令。他只是没有回应。

错误在哪里?我是不是忘记了什么?

4

0 回答 0