c# wpf datagrid 模板列修改某个单元格,更新所选行另一个单元格的值,如何做到呢? 5

 我来答
Mickal小米
2013-12-06 · TA获得超过3666个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1778万
展开全部
我们知道datagrid是通过绑定后台数据集合来实现前台显示的,而每一行的datacontext对应的是个体数据。例如一个Student类,它有id和Name属性。datagrid绑定的是Student集合,每行对应某一个具体的student。你的需求是模板列里修改单元格的值,更新另一个单元的值。还是拿student举例。例如我们的name要求根据id+1,而id值是可以在前台修改的值。它放在模板列里的textbox供我们去修改。(前台修改导致后台数据更新的话就涉及到双向绑定,不懂的话自己先去网上查查相关资料)那我们就可以通过Textbox的TextChanged事件对这行所对应的student的name做操作。或者通过id的value变化直接在id的Set函数里做操作。
245649380
2013-12-06 · 超过11用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:20万
展开全部
//如果你的模板是这样布局
<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";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DanDing_Ge
2013-12-06 · TA获得超过737个赞
知道小有建树答主
回答量:414
采纳率:0%
帮助的人:104万
展开全部
SelectedItem,获取选中行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式