簡體   English   中英

C#如何通過DataGrid中的按鈕單擊按鈕來從DataGrid中獲取數據?

[英]c# how to get data out of datagrid by buttonclick from button in datagrid?

所以我有一個數據網格,在其中添加了一個按鈕。 當我單擊一行中的按鈕時,我希望在消息框中刪除數據,該行中的內容。 我不知道該怎么做...

這是按鈕的XAML代碼:

                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="btnAdd" Click="BtnAdd_Click" Height="40" Width="80" Padding="2" HorizontalAlignment="Right" Margin="2">
                            <materialDesign:PackIcon Kind="AddShoppingCart"/>
                        </Button>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>

I have tried this:

    private void BtnAdd_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            var row = (DataGridRow)grid1.SelectedItem;
            MessageBox.Show(row.ToString());
        }
        catch (System.Exception E)
        {
            MessageBox.Show(E.ToString());
        }

`

因此,我想要的結果是消息框中數據網格中的項目(單擊按鈕的行)。

如果我理解了您的問題,我相信您應該將grid1.SelectedItem轉換為您在數據綁定中使用的類型,而不是DataGridRow這樣就像var row = (MyTypeVm)grid1.SelectedItem; ,並且在表示該類型的類中,您可以覆蓋.ToString()方法以根據您的喜好顯示該數據。

例如:您的類型將如下所示

public class MyTypeVm
{
   public string MyStringProperty {get;set}
   public int MyIntProperty {get;set}
   public override string ToString()
   {
     return MyStringProperty + MyIntProperty.ToString();
   }  
}

暫無
暫無

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

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