c# wpf datagrid 模板列修改某个单元格,更新所选行另一个单元格的值,如何做到呢? 5
3个回答
展开全部
我们知道datagrid是通过绑定后台数据集合来实现前台显示的,而每一行的datacontext对应的是个体数据。例如一个Student类,它有id和Name属性。datagrid绑定的是Student集合,每行对应某一个具体的student。你的需求是模板列里修改单元格的值,更新另一个单元的值。还是拿student举例。例如我们的name要求根据id+1,而id值是可以在前台修改的值。它放在模板列里的textbox供我们去修改。(前台修改导致后台数据更新的话就涉及到双向绑定,不懂的话自己先去网上查查相关资料)那我们就可以通过Textbox的TextChanged事件对这行所对应的student的name做操作。或者通过id的value变化直接在id的Set函数里做操作。
展开全部
//如果你的模板是这样布局
<ListView>
<ListView.ItemTemplate>
<DateTemplete>
<Grid>
<Grid.ColumnDefinitions>
<ColumDefinition/>
<ColumDefinition/>
<ColumDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Colum="0" Text={Binding Id}/>
<TextBox Grid.Colum="1" TextChanged="TextBox_TextChanged_1"/>
<TextBox Grid.Colum="2"/>
</Grid>
</DataTemplete>
</ListView.ItemTemplate>
</ListView>
private void TextBox_TextChanged_1(object sender, TextChangedEventArgs e)
{
var txtBox = (TextBox)sender;
//找到父容器
var grid = (Grid)txtBox.Parent;
//根据父容器获取控件
var txtBox2 = (TextBox)grid.Children[2];
txtBox2.Text = "My Code";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SelectedItem,获取选中行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询