社区
C#
帖子详情
问了很久,没人答,有关DataTable与DataGrid的问题。
cenxaoi
2005-02-02 02:00:27
DataTable a 含col1列,col1列建了唯一约束。
把a绑定到DataGrid dg;在DataGird不同行填入相同的值,会出现
标题为:向原始数据存储区提交行时出错。
内容为:列"col1"被约束为是唯一的。值"abc"已存在。要更改该值吗?
的MessageBox。
我想把把该MessageBox拦截。修改它的内容,不然用户看不明白。
但是不知在哪里可以拦截,
...全文
333
24
打赏
收藏
问了很久,没人答,有关DataTable与DataGrid的问题。
DataTable a 含col1列,col1列建了唯一约束。 把a绑定到DataGrid dg;在DataGird不同行填入相同的值,会出现 标题为:向原始数据存储区提交行时出错。 内容为:列"col1"被约束为是唯一的。值"abc"已存在。要更改该值吗? 的MessageBox。 我想把把该MessageBox拦截。修改它的内容,不然用户看不明白。 但是不知在哪里可以拦截,
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cenxaoi
2005-03-02
打赏
举报
回复
说用try catch 的人大慨没用用Column的中的unique属性吧。
难道使用不能在DataTable或者DataGrid的某个事件中拦截吗,我的思路是这样的,但是找不到有这个功能的事件。
tanc2001
2005-02-23
打赏
举报
回复
还是try
{
}
catch
{
}
容易理解
web_gus
2005-02-23
打赏
举报
回复
up
readersm68
2005-02-17
打赏
举报
回复
修改数据库中系统存储过程中的出错提示,把提示的语句修改成用户可以理解的语句。
xzyan80
2005-02-17
打赏
举报
回复
up
曲滨_銘龘鶽
2005-02-15
打赏
举报
回复
其实 DataGrid 那个弹出窗口 也是 个捕获的异常 提示
只要你在 适当的地方引发异常就可以了
其实 数据绑定到文本框 时如果输入数据类型不对时 也是 DataTable内部引发了个异常
使 文本框 回滚 数据的这些东西和 Delphi 很像的
通过底层系统内置的数据对象 就可以控制 控件的行为,
要不用一种新控件就要重新学很多东西
多郁闷啊
不过还是差点 Delphi 在 数据对象 每个单元格数据 改变的时候都有事件
.net 就行 改变的时候有 事件
曲滨_銘龘鶽
2005-02-15
打赏
举报
回复
这个必须去掉 那个DataTable 主键
给你点代码。
DataTable dt =new DataTable("Test");
dt.Columns.Add("ID",typeof(int));
dt.Columns.Add("Name",typeof(Decimal),"(1+2)*6/(5*8)");
//dt.PrimaryKey = new DataColumn[]{dt.Columns["ID"]};
dt.Rows.Add(new object[]{1});
dataGrid1.DataSource=dt;
//映射 DataTable 行改变事件
dt.RowChanging+=new DataRowChangeEventHandler(dt_RowChanging);
private void dt_RowChanging(object sender, DataRowChangeEventArgs e)
{
if (e.Action == DataRowAction.Add || e.Action == DataRowAction.Change )
{
DataTable dt = e.Row.Table;
string filterExpression = "ID = " +e.Row["ID"];
if (dt!=null && dt.Select(filterExpression).Length > 0)
{
throw new Exception("本列不可以键入重复的数据!\r\n");
}
}
}
曲滨_銘龘鶽
2005-02-15
打赏
举报
回复
不好意识,很久以前写的东西现在都要忘记了。
上面的代码 不正确 忘记 DataRowAction.Add 和 DataRowAction.Change
是不同的了。
private void dt_RowChanging(object sender, DataRowChangeEventArgs e)
{
DataTable dt = e.Row.Table;
string filterExpression = "ID = " +e.Row["ID"];
int selRow = -1;
if (e.Action == DataRowAction.Add )
selRow=0;
else if(e.Action == DataRowAction.Change)
selRow=1;
if (selRow>-1 && dt.Select(filterExpression).Length > selRow)
{
throw new Exception("本列不可以键入重复的数据!\r\n");
}
}
marvelstack
2005-02-14
打赏
举报
回复
取消约束,在数据插入时进行判断,做出相应提示,
http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp
nga96
2005-02-13
打赏
举报
回复
(1)一般情况下,DATAGRID作为显示数据使用,不要作为编辑区
(2)你捕捉 currentcellchanged事件试试看
学习Java中
2005-02-03
打赏
举报
回复
up
噯卟釋手
2005-02-03
打赏
举报
回复
UP~~~~
zhongjy001
2005-02-02
打赏
举报
回复
认为判断,然后throw new Exception("错误!");
web_gus
2005-02-02
打赏
举报
回复
try{你的代码}
catch
{
MessageBox.show(友好信息);
}
manonroad
2005-02-02
打赏
举报
回复
在客户端验证用户如数数据,根据不同的情况给出相应的信息。用约束不是一个好主意。
fellowcheng
2005-02-02
打赏
举报
回复
不如在前端用代码来控制用户的输入
老汉
2005-02-02
打赏
举报
回复
接分快乐。
也不怕版主说你刷屏。
liulxmooo
2005-02-02
打赏
举报
回复
up
sonny72
2005-02-02
打赏
举报
回复
你的做法看似可以,实际把问题复杂化了.
JasonHeung
2005-02-02
打赏
举报
回复
在提交前逐一检查数据的合法性,这是通用的做法!
加载更多回复(4)
c#
datagrid
操作,解决
datagrid
View加载慢.docx
发现了
datagrid
view直接绑定DataSource加载数据比较慢的
问
题
,从网上找了很多资料,没有有效的解决方案,
DataGrid
的简单使用
为什么要写这个东西,因为网上信息太多太乱,备个份吧; 这个环节在很多年前已经攻过,不过很
久
没用所以忘了,现在做个简单记录; - 赋值 我一般不做绑定,习惯,或者绑定很好用,或者; 我自己写了个类,实现数据库与WPF的交互,所以直接用
DataTable
与
DataGrid
交互就好 me.dg.ItemsSource = tb.defaultView dg是
DataGrid
的控件名,一直用这个,不知为什么; tb是
DataTable
,使用AptFill填充而来; - 取值 此处选择模式是默认的,即全行、多选模式
WPF 动态加载
DataGrid
自己记录一下怕自己以后都忘记了。 言归正传,所谓动态加载
DataGrid
就是说表头和数据都是动态生成出来的,不是预先设置好的值。 在网上也找了很
久
这方面的资料,然后功夫不负有心人还是找到了,然后写一下自己在做的过程中的一些方法和心得。 先说明我没有用WPF的MVVM模式做。 首先需要先在页面上放一个空的
DataGrid
<
DataGrid
x:Name="
DataGrid
s" > <
DataGrid
.Columns> ...
树型
DataGrid
的思路
最近一直很忙,很
久
没来博客园写点什么东西了,难得今天有时间,我就写写树型
DataGrid
的思路吧!虽然现在vs2005 都出来那么
久
了,可能都没多少人在用
DataGrid
了,但是我还是想写写这个东西,也算是一个经验的小结,还可以为要做这种功能的人提供点帮助。 最近在项目中使用到了树型的可折叠的
DataGrid
,要求要是无刷新的那种树型
DataGrid
,那就是说要在客户端执行树的折叠和展开。形状类...
在sliverlight 客户端实现
DataTable
的尝试,让自定义
DataGrid
能够轻松绑定
DataTable
不知道微软为什么在sl中不支持
DataTable
,不给老程序员面子么? 好吧,既然不行那我们只能DIY一个,这就开始干活: 第一步:创建 DataRow 既然是表格那我们必须有列,行和他们的集合,咳..什么都没,那我们先创建列: public class DataColumn { #region "Properties" /// <summar...
C#
111,096
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章