问题标签 [templatefield]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2525 浏览

c# - 将标签添加到 DataGrid 的 TemplateField 项模板。但不是前端

C#、.net

原始代码:

我想做这样的事情:

但不是boundfield,而是使用templatefield。

如果你想知道我为什么要做这样的事情,它与:this

0 投票
1 回答
678 浏览

asp.net - 为什么我的 GridView 间歇性地不显示我的 .net TemplateFields

我的 GridView 过得很糟糕。我一直在用细齿梳检查我的代码,但找不到问题。

我有一个七列的 ASP.net GridView;数据来自 SQL。两列包含用户可以单击以删除或修改数据库中的条目的 javascript。其他五个字段包含数据库中人员的姓名、电话号码和电子邮件地址。

我的四个字段是 ASP.net TemplateFields。

当页面加载时,一切都正确显示。但是,如果用户单击 JavaScript 链接,单击以按任何字段对 GridView 进行排序,或执行任何其他导致回发的操作,则生成的页面可能不会显示我的 TemplateFields 的内容;他们都是空白的。

只是为了让您可以看到我正在使用的内容,我有一个“名称”列,其定义如下:

如果我单步调试调试器中的代码,我会看到在模板字段正确显示的情况下,调试器会在显示名称的行上停止。在字段全部为空的情况下,它会跳过代码以显示这些字段的内容;并且没有任何明显的原因。

似乎导致问题的唯一原因是从查询字符串中设置了一个枚举值(它告诉页面要加载哪些数据)。当枚举值设置为1时,我从来没有看到这个错误,但是当枚举值设置为2时,我似乎总是看到它。

但是,枚举从未在我的 gridview 代码中的任何地方引用过。

无论如何,始终调用 GridView.DataSource = x 并且始终调用 GridView.DataBind()。我尝试单步执行代码并检查数据库中的数据是否正确。我已经尝试调试从中调用 DataBind 的代码块以及 GridViewRow_DataBound 事件处理程序。

我在其他地方看到过有关 TemplateField 问题的其他帖子,但似乎都没有解决这里发生的事情。

有任何想法吗?

0 投票
1 回答
1706 浏览

asp.net - 如何使用自定义 ID 在模板字段 Gridview 中访问控制

我有一个自定义的 gridview。我的网格只需在标题中单击 1 次即可对每一列进行排序,而无需用户(程序员)进行任何设置和重载方法,例如排序等。(我成功地做到了并且工作正常)用户(程序员)可能会在网格中添加每一列。例如模板字段、超链接字段、绑定字段...。对于排序,我必须访问列的数据字段。我可以通过此代码访问 boundfield 列。我可以访问数据字段和标题文本以及...示例:

但我可以访问模板字段中的控制。例如 ColumnBound。样本:

我想访问 "Name" (Bind ("Name") 或 Eval ("Name")) 。我怎样才能?有一点:我现在不知道模板字段中控件的 ID(在本例中为“Label1”)是什么。特别感谢

0 投票
1 回答
2418 浏览

c# - 如何编写自定义模板字段,如 DataControlField

我正在使用 aGridView来显示其中一个数据列具有 type 的数据DateTimeOffset。为了在用户的时区显示日期和时间,我将用户的时区偏好保存到他或她的个人资料(属性值键“TimezoneOffset”),并且在格式化日期和时间时需要访问它。

如果我要使用模板字段,那么我需要编写:

这太复杂且不可重用。

我尝试向TimeSpan代码隐藏添加一个属性(至少将其移出数据绑定表达式),但显然视图的代码隐藏属性在<%# ... %>.

因此,我认为我需要编写一个自定义DataControlField格式以在用户的​​时区中格式化日期和时间。

我开始了:

但现在我被困住了。如何输出<abbr class="datetimeoffset"><%# ((DateTimeOffset)Eval("CreatedDate")).ToOffset(userOffsetTimeSpan).ToString("f") %></abbr>每个单元格的 HTML?

编辑:我一直在阅读一篇题为“前沿:自定义数据控制字段”的文章。到目前为止,我已经添加:

但是虽然文章设置了实例的Text属性,但TableCell我想将部分视图呈现到表格单元格中。那可能吗?

0 投票
2 回答
5035 浏览

c# - 在 GridView 中,如何将多个命令添加到一个项目模板?

我剥离了这个例子以使其简单。我有一个带有模板字段的网格视图。模板字段包含两个按钮和一个标签(它们必须在同一个模板字段中)。我希望第一个按钮将标签文本设置为“Win”,另一个按钮将标签文本设置为“失败”。onrow 命令似乎不是由模板字段中的按钮触发的。我怎样才能做到这一点?

我的gridview代码如下:

和我背后的代码:

提前致谢!

0 投票
2 回答
3263 浏览

asp.net - ASP.NET GridView 模板字段中的复选框在提交时不保留其值

我正在尝试在 GridView 的 TemplateField 中使用 CheckBoxes 从该 GridView 中选择多个条目。GridView 的数据源是在页面加载时生成的项目列表。

问题是,当我按下提交按钮时,所有 CheckBox 都返回 Checked 属性为“false”。

为了在行中循环,我使用:

我应该使用什么才能访问正确的值?

谢谢,卡塔林

0 投票
1 回答
475 浏览

asp.net - 将 `GridView` 的 ItemTemplate 输出简化为常规

我将 aTemplateField用于列,因为我需要HeaderTemplate. 但是,ItemTemplate将单元格的内容呈现为 an <asp:Label>,输出如下所示:

有什么方法可以使ItemTemplate单元格的内容只呈现出来,以便输出看起来像这样:

感谢您的任何建议。

0 投票
3 回答
1128 浏览

c# - 在asp.net的gridview中按Id隐藏列

我有 asp.net 应用程序,其中有可编辑的网格视图,其中包含编辑、删除、添加选项。这个网格有像往常一样的模板字段。我想隐藏一些列。我知道我可以通过使用列索引来做到这一点。但我不想跟随它。相反,我想按 ID 隐藏列。这是因为如果在我的应用程序中进一步需要添加更多列,则需要更改代码增益并再次在核心中。所以我选择这种方式。我发现的 Bu<asp:TemplateField />不包含 Id 属性。因此,我无法<asp:TemplateField/>通过 ID 隐藏。对此有何补救措施?

0 投票
2 回答
6582 浏览

sorting - 使用模板字段和标题模板进行 GridView 排序

我正在使用 GridView,标题单元格中有一个用于过滤的下拉列表。

并且有用于排序和分页的相关事件处理程序。
现在的问题是,如果我将“SP 名称”文本放在链接按钮中,单击链接时页面会崩溃,否则不会生成要排序的链接。如果我删除 Header Template 字段(全部)并放置一个带有 TemplateField HeaderText 属性的文本,它会按预期工作。有没有办法把它们放在一起?我需要那个下拉列表和排序。

谢谢。

0 投票
1 回答
1465 浏览

asp.net - ASP.NET 文本框 cssClass 在渲染后在 GridView ItemTemplate 中被覆盖

我在 TemplateField 列中有一个用于 gridview 的文本框。当我为文本框设置 cssClass 属性时,它会被呈现的网页中的“文本框”类覆盖。这是正常行为吗?(.NET 3.5)

作为一种解决方法,我添加了一个“样式”属性。