WPF DataGrid中的 自定义列内的TextBox中 怎么获取单元格内所编辑的内容

weixin_44549211 2019-11-07 11:27:38


我想搞一个东西,选中的行中有文本框是我自定义上去的,不是从数据库查出来的。我想把选中的这两条数据的ID新增到数据库中,同时把对应的文本框的值也一起新增到另一张表中。是各自文本框对应的值啊。大家有什么办法吗。最好是有代码,本人菜鸟,知道理论也搞不出来

xaml代码:
<DataGridTemplateColumn Header="核销金额" Width="150" x:Name="txt_aaaa">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Height="20" x:Name="txt_AmountOCAV" LostFocus="Txt_AmountOCAV_LostFocus" Text="{Binding ResShare,UpdateSourceTrigger=PropertyChanged}" Width="120"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
...全文
170 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nick_Ngai 2019-11-14
  • 打赏
  • 举报
回复
引用 2 楼 weixin_44549211 的回复:
我的那个文本框是自定义的,就是自己写数据上去的,不是从数据库查出来的。所以,这个不适用
可以单项绑定啊 Mode=OneWayToSource
weixin_44549211 2019-11-13
  • 打赏
  • 举报
回复
[quote=引用 3 楼 Eason0807 的回复:] 我用了你的方法,直接报错
weixin_44549211 2019-11-13
  • 打赏
  • 举报
回复
用了你的代码,不行,有更好的方法?
Eason0807 2019-11-08
  • 打赏
  • 举报
回复
你了解一下WPF的数据绑定可以是单项的,也可以双向的;不是说只有从数据库查出来的才可以绑定,实际上大多数情况下ViewModel都不是直接从数据库查出来的
weixin_44549211 2019-11-08
  • 打赏
  • 举报
回复
我的那个文本框是自定义的,就是自己写数据上去的,不是从数据库查出来的。所以,这个不适用
Nick_Ngai 2019-11-07
  • 打赏
  • 举报
回复
1.用ObservableCollection<T>做为数据源绑定DataGrid列表,这样有新增数据也好处理。 2.Mode=TwoWay,这样可以获取到前端修改后的数据。 例子如下: XAML: <DataGrid ItemsSource="{Binding DataList,Mode=TwoWay}"> <DataGrid.Columns> <DataGridTemplateColumn Header="核销金额" Width="150" > <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBox Height="20" Text="{Binding ResShare,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="120"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> CS后台: public partial class MainWindow : Window { MainWindowViewModel vm = new MainWindowViewModel(); public MainWindow() { InitializeComponent(); this.DataContext = vm; } private void BtnTest_Click(object sender, RoutedEventArgs e) { foreach (var item in vm.DataList) { // 获取数据 } } } public class MainWindowViewModel { public ObservableCollection<CTestInfo> DataList { get; set; } public MainWindowViewModel() { DataList = new ObservableCollection<CTestInfo>(); DataList.Add(new CTestInfo { IsSelected = true, TestCaseInfo = "选项1", ResShare = 25.7 }); DataList.Add(new CTestInfo { IsSelected = false, TestCaseInfo = "选项2", ResShare = 36.9 }); } } public class CTestInfo { public bool IsSelected { get; set; } public string TestCaseInfo { get; set; } public double ResShare { get; set; } }

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧