我有从 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 更好的方法来获取我可以使用的数据网格行的值? 提前谢谢
所有值都可以在数据项中找到,并显示在 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();
}
}