我有一个包含多个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作为默认值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)