问题标签 [autogeneratecolumn]

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 回答
670 浏览

asp.net - Gridview 列在回发时更改

我正在使用visual web developer 2010 在asp.net 中开发我的网站。我有一个在线商店的产品页面,其中显示产品图片,gridview 显示有关产品的信息,每个产品都有多个列。

我为此页面设置代码的方式是我有 autogeneratecolumns = true (出于特定原因),主要是因为我从许多不同的表和数百个不同的产品和类别中动态提取 gridview 数据。这一切都很好,直到我将“添加到购物车”按钮添加到网格视图中,以便每一行都有一个按钮。

因为我将 autogeneratecolumns 设置为 true,所以当我插入“添加到购物车”按钮时,尚未创建任何列,因此该按钮显示在第一列中,然后是其余数据。我有一段代码在预渲染阶段运行,它采用按钮列并将其移动到最后一列。这就是问题所在。

出于某种原因,即使我将所有这些预渲染代码放在如果不是回发中,当在页面上单击另一张图片并且页面进行回发时,我的列标题也会更改并且“添加到购物车”列不再存在这会产生问题。在我单击另一张图片之前列如何的示例是(订单号、描述、价格、添加到购物车)以及在我单击图片之后(颜色、度数、描述、价格)。就好像它仍在运行 Gridview Pre Render,即使它显示它在调试期间跳过了该代码块。这是代码...

我知道是这段代码导致了它,因为我删除了代码并且一切正常,但是这段代码是将购物车按钮列移动到gridview中的最后一列的唯一解决方案。很抱歉这个非常长的问题,但是对于如何防止我的列在单击图像按钮时发生更改或移动的任何帮助将不胜感激。

0 投票
1 回答
3239 浏览

asp.net - 在 asp.net gridview 中,autogeneratecolumns=true 是否应该忽略数据键?

我的问题有两个:首先,当设置 asp.net gridview 的 autogeneratecolumns=true 属性时,即使对于 datakeynames 属性中列出的字段也会生成列,这是否是微软的错误?当然,这与 datakeys 的整个基本原理相反吗?其次,有没有一种方法可以使用数据键,而不必将网格中的所有非数据键列显式列出为绑定字段,这既繁琐又不利于维护?

根据 AVD 的评论,我将举一个例子:假设我有这个查询作为我的网格的源

而且我不想显示 intAssessmentElementID。这是我的gridview定义

写出那些绑定的字段很乏味,如果我向查询中添加一个字段,我必须记住也将它添加到网格定义中。如果 autogeneratecolumns=true,更新将是自动的。但是 autogeneratecolumns=true 会生成所有列,甚至是 datakeynames 中列出的列。我认为这是自相矛盾的。我想要一种同时使用 autogeneratecolumns=true 和 datakeynames 的方法,但 datakeynames 列没有出现。我已经看到许多建议在数据绑定后隐藏列,但它们对我和其他人不起作用 当自动生成列时,即使在 PreRender 中它们似乎也不可用/生成。

0 投票
2 回答
7991 浏览

asp.net - GridView - 在后面的代码中设置列的宽度 (AutoGenerateColumns="true")

我的网格视图:

在后面的代码中:

GridView 已成功填充。
请注意,我可以设置列的对齐方式和背景色,但不能设置其宽度。
我尝试了许多解决方案,但没有一个有效。
它总是将列的大小调整为最长的内容。
能做到吗……?

0 投票
0 回答
659 浏览

mysql - MySQL批量插入:父表自动生成的键到子表中

我们正在从 SQL Server 2012 迁移到 MySQL 5.6。出现的场景之一是在父子表中插入批量记录。一个例子:

假设我有两个临时表parent_tempchild_temp并且我想将记录插入到父表和子表中。问题是我需要parent_id使用parent_temp_id. 在 SQL Server 中,我们使用Output into语句来解决此问题。由于这里没有可用的直接方法,因此我可以想到一些直接的解决方案:

  1. 通过实体框架进行插入。
  2. 使用 while 循环迭代父记录并在父表中插入,获取自动生成的键并插入到子表中。等等。
  3. dummy_col在父表中添加一个备用列来保存映射。这将允许对父表进行批量插入。插入查询看起来像

    insert into parent(parent_name,dummy_col ) select parent_temp_name, parent_temp_id from parent_temp

    这样,我们将在 parent 和 parent_temp 表的行之间进行 1-1 映射。子表查询看起来像

    insert into child(child_name,parent_id) select child_temp_name, p.parent_id from child_temp ct inner join parent p on p.dummy_col = ct.parent_temp_id

方法 1 和 2 的问题在于它们对于批量插入很慢。我们可以一次轻松地插入 15k 行。如果两个或多个用户同时运行相同的插入查询,并且他们parent_temp_id的 's 匹配因为(我们使用的是int,并且他们总是从 1、2、3、4 开始......),则方法 3 将出现问题。如果我们使用GUIDs 而不是ints,我们可能可以避免这个重复的问题。但是我们总是需要在这些表中创建额外的列,并确保它们不会用于其他目的。

基于以上场景,MySQL还有其他解决方案吗?你更喜欢哪一个?

0 投票
1 回答
1707 浏览

c# - 如何在 asp.net gridview 中为用户隐藏自动生成的删除和编辑按钮?

我想从客户角色中隐藏删除编辑按钮,但管理员可以看到它们。我的 Gridview 设置了自动生成的列 = true。

这是我所做的:

这是我尝试执行显示和隐藏列的行数据绑定事件

0 投票
1 回答
2454 浏览

wpf - 为 WPF 数据网格中的列设置最大显示宽度

我在 WPF 中有一个自动生成列的数据网格。有些列的宽度超过整个屏幕,我想检查宽度,如果超过 500,则将其设置为 500,但如果小于 500,则保留当前宽度。

代码是:

感谢任何帮助!

0 投票
1 回答
470 浏览

wpf - WPF MVVM Light 无法触发 DataGrid AutogeneratingColumn 事件来动态管理列

我想动态管理与DatagridEF 元素绑定的 a 的列,并且应该只显示从 a 中选择的列ListBox

我使用 MVVM Light 工具包,当我尝试使用并触发该AutoGeneratingColumns事件时它不起作用。它永远不会触发,即使在第一代DataGrid.

这是我的视图模型代码:

这是我的观点 xaml 代码DataGrid

最后,我想使用一个Button会触发此事件来刷新DataGrid用户修改他在ListBox.

谢谢你的帮助 !

编辑:当然我在我的虚拟机的构造函数中声明了我的命令:

0 投票
1 回答
748 浏览

sql - DB2:如何生成始终作为与会话用户一起使用的语句

我需要将用户戳记入表中,但没有设法弄清楚 GENERATED FOR EACH ROW ON UPDATE AS 语句如何与 DB2 10.5 (LUW) 中的 SESSION_USER 变量一起使用。

设法使用具有用于强制更新语句中的评估的假变量的函数来实现工作:

但是,对于像这样的基本事物,少一些“hacky”实现会很好。

对于时间戳,有“FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP”语句,但似乎没有其他寄存器变量的等效项。

非常感谢帮助

0 投票
1 回答
860 浏览

c# - 如何以编程方式更新自动生成的数据网格组合框单元格中的项目源

我找不到我的问题的有效解决方案

我有一个绑定到对象集合的数据网格。我的对象属性之一用作集合中的索引。自动生成的组合框列“类型”显示与该索引关联的“标签”。

我需要更新另一个属性,该属性也是同一个对象中的索引。我使用此代码在 AutogeneratingColumn 事件中添加组合框:

组合框“类型”项目源是字典:

我需要更新这个“绑定”组合框项目源,它也是在同一个数据网格中自动生成的:

组合框“绑定”项源是字典:

它应该用这个更新:

该事件已正确触发,但我找不到更新“绑定”组合框项目的方法。

谢谢您的帮助。

此处编辑是屏幕图像,其中包含 ComboBox "Type" 中的项目:

在此处输入图像描述

编辑,为属性添加的代码已更改:

0 投票
0 回答
69 浏览

c# - 在窗口打开时更新自动生成的数据网格组合框单元格选定项

我有一个绑定到对象集合的数据网格。我的对象属性之一用作集合中的索引。自动生成的组合框列“类型”显示与该索引关联的“标签”。

此组合框更新另一个属性,该属性也是同一对象中的索引。

组合框“类型”项目源是一个字典:cbTypeVals

组合框“绑定”项目来源是字典:cbSrcValueVals 和 cbDiagVals

这是代码:

当组合框“Type” SelectionChange 事件触发时,我更新 Combobox“Binding” Itemsource :

当我更改组合框“类型”选择时,一切正常,但是当我打开 Led 表时,我需要更新每个组合框“类型”,默认情况下,“源”设置为 ctor 中的 cbSrcValueVals。

谢谢你。

链接到原始问题:如何以编程方式更新自动生成的数据网格组合框单元格中的项目源