c#DataColumn:生成一个新的GUID作为默认值?

c#DataColumn:生成一个新的GUID作为默认值?,第1张

概述我的问题: 我有一个包含多个DataTables的DataSet. 所有这些DataTable都有一个名为“Id”的DataColumn,其DataType为System.Guid. 这样一个表的一个简短例子: +--------------------+| User |+--------------------+| *Id as System.Guid || 我的问题:
我有一个包含多个Datatables的DataSet.
所有这些Datatable都有一个名为“ID”的DataColumn,其DataType为System.GuID.

这样一个表的一个简短例子:

+--------------------+| User               |+--------------------+| *ID as System.GuID || Username as String || /* more columns */ |+--------------------+

我将此Datatable分配给DataGrIDVIEw. 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列的visibility属性设置为false,以便它不显示.创建新行时,该行已填充guID.

总结

以上是内存溢出为你收集整理的c#DataColumn:生成一个新的GUID作为默认值?全部内容,希望文章能够帮你解决c#DataColumn:生成一个新的GUID作为默认值?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1214008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存