首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用EditTemplate绑定到Blazorise DataGrid中的TextEdit

如何使用EditTemplate绑定到Blazorise DataGrid中的TextEdit
EN

Stack Overflow用户
提问于 2021-02-10 12:32:27
回答 1查看 404关注 0票数 1

我是Blazor和Blazorise...and的新手,在研究这个组件时,我似乎找不到任何关于如何在Blazorise DataGrid的EditTemplate中绑定TextEdit中的变量的材料。

在我的Blazorise DataGrid中,我有一个DataColumn (参见下面的代码):

代码语言:javascript
复制
<DataGridColumn
    Caption="Description"
    Editable="true"
    TItem="ProductVo"
    Field="@nameof(ProductVo.Description)">
        <DisplayTemplate>
            @($"{(context as ProductVo)?.Description}")
        </DisplayTemplate>
        <EditTemplate>
            <Validation UsePattern="true">              
                <TextEdit @bind-Text="context.CellValue" Text="@((string)context.CellValue)" Pattern="^.{3,200}$">
                    <Feedback>
                        <ValidationError>This field must be between 3 and 200 characters long.</ValidationError>
                    </Feedback>
                </TextEdit>
            </Validation>
        </EditTemplate>
</DataGridColumn>

在我的<TextEdit>中,我可以使用以下代码在编辑时显示该值:

代码语言:javascript
复制
Text="@((string)context.CellValue)"

但是它不能保存,因为我不能使用@bind-Text="context.CellValue"绑定context.CellValue

请帮助我学习如何使用Blazorise DataGrid,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-10 12:46:38

您错过了负责更新context上的文本的TextChanged事件。这应该是可行的:

代码语言:javascript
复制
<TextEdit Text="@((string)context.CellValue)" TextChanged="@(v => ( (CellEditContext)context ).CellValue = v)" Pattern="^.{3,200}$">
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66130953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档