【问题标题】:Better way to get values of datagrid cell获取数据网格单元格值的更好方法
【发布时间】:2019-12-04 18:47:50
【问题描述】:

我有从 sql 查询填充的日期网格

HPEntities db = new HPEntities();
var queryTable4 = db.Database.SqlQuery<Lbrctn>("select * from Lbrctn");
var u = queryTable4.ToList();
DG_Example.ItemsSource = u;

我想获取我的 dataGrid 中已检查的那些行的值。并发送到存储过程 所以我试试这个代码:

 for (int i = 0; i < DG_Example.Items.Count - 1; i++)
            {

                mChkBox = DG_Example.Columns[0].GetCellContent(DG_Example.Items[i]) as CheckBox;

                if (mChkBox.IsChecked == true)
                {

                    var DaSelect = DG_Example.Columns[1].GetCellContent(DG_Example.Items[i]) as TextBlock;
                    var MNameTBk = DG_Example.Columns[2].GetCellContent(DG_Example.Items[i]) as TextBlock;
                    var ChiCodeTBk = DG_Example.Columns[3].GetCellContent(DG_Example.Items[i]) as TextBlock;
                    var ChiNameTBk = DG_Example.Columns[4].GetCellContent(DG_Example.Items[i]) as TextBlock;

                    var IntenCodeTBk = DG_Example.Columns[6].GetCellContent(DG_Example.Items[i]) as TextBlock;
                    var PeDescTBk = DG_Example.Columns[7].GetCellContent(DG_Example.Items[i]) as TextBlock;

                    db.sp_Ins_inten // using Stored Procedure
                        (
                        IntenCodeTBk.Text.Trim(),
                        MNameTBk.Text.Trim(),
                        Convert.ToInt32(chiCodeTBk.Text.Trim()),
                        ChiNameTBk.Text.Trim(),
                        PeDescTBk.Text.Trim(),
                        DaSelect.Text.Trim()

                        );

                    db.SaveChanges();

                }

            }

有没有比 GetCellContent 更好的方法来获取我可以使用的数据网格行的值? 提前谢谢

【问题讨论】:

    标签: wpf datagrid row


    【解决方案1】:

    所有值都可以在数据项中找到,显示在 DataGridRow 中(可能 CheckBox 除外,它可能未绑定):

    for (int i = 0; i < DG_Example.Items.Count - 1; i++)
    {
        mChkBox = DG_Example.Columns[0].GetCellContent(DG_Example.Items[i]) as CheckBox;
    
        if (mChkBox.IsChecked == true)
        {
            Lbrctn item = DG_Example.Items[i] as Lbrctn;
    
            db.sp_Ins_inten // using Stored Procedure
            (
                item.IntenCodeTBk,
                item.MNameTBk,
                item.Convert,
                item.ChiNameTBk,
                item.PeDescTBk,
                item.DaSelect
            );
    
            db.SaveChanges();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-13
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      相关资源
      最近更新 更多