gpt4 book ai didi

c# 数据列 : generate a new GUID as default value?

转载 作者:行者123 更新时间:2023-11-30 14:16:56 24 4
gpt4 key购买 nike

我的问题:
我有一个 DataSet多个DataTables在里面。所有这些DataTables有一个DataColumnDataType 命名为“Id”的 System.Guid .

此类表格的一个简短示例:

+--------------------+
| User |
+--------------------+
| *Id as System.Guid |
| Username as String |
| /* more columns */ |
+--------------------+

我分配了这个 DataTableDataGridView . DataGridView配置为允许创建、编辑和删除条目。

当用户现在创建一个新条目并保存它时,会出现“Id”未设置的异常。

我的问题:
如何自动生成一个新的 System.Guid对于新条目?

我目前的想法:

  • dataSet.dataTable.Columns['Id'].DefaulValue 中指定一些魔法值. (类似于 <DBNull> )
  • dataSet.dataTable 上使用触发器之类的东西监听新行。它必须在行得到验证之前执行
  • 与触发器相同,但在 dataGridView 上.

我尝试过的:

  • DataGridView 的这些事件: RowsAdded , UserAddedRow , RowValidating , DefaultValuesNeeded

如果有人能为我提供可行的解决方案或提示,那就太棒了!

~克里斯

最佳答案

我不确定你为什么说你不能使用 DefaultValuesNeeded - 我刚刚测试过它并且它工作得很好:

void dataGridView1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
e.Row.Cells["Guid"].Value = Guid.NewGuid();
}

我将 Guid 列的可见性属性设置为 false,这样它就不会显示。创建新行时,该行会填充一个 guid。

关于c# 数据列 : generate a new GUID as default value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6677242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com