簡體   English   中英

如何清除 DataGrid 中的特定列?

[英]How do I clear specific columns in DataGrid?

我正在使用 WPF,通過 LinqToSql 連接到 SQL 數據庫。 我已經使用 ItemsSource 填充了 DataGrid。

我想通過按下按鈕清除我的 DataGrid 中的所有內容,除了前兩行(ID、名字和名字),當然還有標題。 我想(設置為 null 或 0)刪除的所有項目都是浮點數,但我找不到正確的邏輯來執行此操作。

這是我的 DataGrid 的圖片--> 在此處輸入圖像描述

public partial class Spisak : Microsoft.Office.Interop.Excel.Window
{
    DiplomskiDataContext diplomski = new DiplomskiDataContext();
    public Spisak()
    {
        InitializeComponent();

        dataGridRadnici.ItemsSource = diplomski.Radniks.ToList();
    }
}

這是我后面的代碼,這里是 Xaml 代碼:

<DataGrid HorizontalAlignment="Left" Name="dataGridRadnici" AutoGenerateColumns="False" Height="260" Margin="10,120,0,0" VerticalAlignment="Top" Width="550">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Ime" Binding="{Binding Ime}"></DataGridTextColumn>
            <DataGridTextColumn Header="Prezime" Binding="{Binding Prezime}"></DataGridTextColumn>
            <DataGridTextColumn Header="BrSati" Binding="{Binding BrojSati, Converter={StaticResource ThreePlaceConverter}}"></DataGridTextColumn>
            <DataGridTextColumn Header="Prekovremeni" Binding="{Binding BrojPrekovremenih, Converter={StaticResource ThreePlaceConverter}}"></DataGridTextColumn>
            <DataGridTextColumn Header="Gorivo" Binding="{Binding BrojDana, Converter={StaticResource ThreePlaceConverter}}"></DataGridTextColumn>
            <DataGridTextColumn Header="Bonus" Binding="{Binding Bonus}"></DataGridTextColumn>
            <DataGridTextColumn Header="VracanjeDuga" Binding="{Binding VracanjeDuga}"></DataGridTextColumn>
            <DataGridTextColumn Header="UkZarada" Binding="{Binding UkupnaPlata, Converter={StaticResource ThreePlaceConverter}}"></DataGridTextColumn>
            <DataGridTextColumn Header="UkSaGorivom" Binding="{Binding UkupnoSaGorivom, Converter={StaticResource ThreePlaceConverter}}"></DataGridTextColumn>
        </DataGrid.Columns>
        <DataGrid.ContextMenu>
            <ContextMenu>
                <MenuItem Header="Izmeni" Click="MenuItem_Click"></MenuItem>
                <MenuItem Header="Obrisi" Click="MenuItem_Click_1"></MenuItem>
            </ContextMenu>
        </DataGrid.ContextMenu>
    </DataGrid>

將您希望能夠清空的列的類型從float更改為Nullable<float>float? ),然后只需將屬性設置為null

var sourceList = dataGridRadnici.ItemsSource as List<Radnik>; //or whatever your data is called
foreach (var item in sourceList)
{
    item.BrojPrekovremenih = null; // or 0
    //set the other properties the same way...
}

您還需要實現INotifyPropertyChanged接口並在數據 class 中引發屬性更改通知

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM