在线等…………在DataGrid 里面,,我怎么判断修改的值中,在某一列中没有相同的值?

wsd2616412 2005-10-03 11:14:07
在DataGrid 里面,,我怎么判断修改的值中,在某一列中没有相同的值?

...全文
176 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsd2616412 2005-10-04
  • 打赏
  • 举报
回复
哪位大哥能帮我在今天搞定不,,,今天搞定了,,我给100分,,,以后有分了,,,

我再给,,,
wsd2616412 2005-10-04
  • 打赏
  • 举报
回复
private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
{
try
{
if(dataGrid1.CurrentCell.RowNumber < dataT.Rows.Count)
{ textBox1.Text = dataGrid1[Crow,0].ToString();
for(int i = 0; i < dataT.Rows.Count; i++)
{
if(i != Crow)
{
if(dataGrid1[Crow,0].ToString().CompareTo(dataGrid1[i,0].ToString()) == 0)
{
MessageBox.Show("同","",MessageBoxButtons.OK,MessageBoxIcon.Information);
dataGrid1.Select(Crow);
return;
}
}
}
Crow = dataGrid1.CurrentRowIndex ;
}
}
catch(Exception ex)
{MessageBox.Show(ex.Message,"",MessageBoxButtons.OK,MessageBoxIcon.Information); }
}
zhangfire 2005-10-04
  • 打赏
  • 举报
回复
呵呵。
给你回消息了。
在这里贴出来乱七八糟的,谁看得明白啊。
wsd2616412 2005-10-04
  • 打赏
  • 举报
回复
对,,用这个事件,,,

但是,,我怎么样写程序呢,,,

我把我写的贴出来,,能帮我看看吗???

等下我就贴出来,,,
zhangfire 2005-10-04
  • 打赏
  • 举报
回复
DataGrid.CurrentCellChanged
呵呵。只能在这个事件里做验证了。
wsd2616412 2005-10-04
  • 打赏
  • 举报
回复
请问有人晓得怎么样获得dataGrid里面改变所选单元格的事件???
wsd2616412 2005-10-04
  • 打赏
  • 举报
回复
qixuan21_4(黑灯白夜)

谢谢你,,,你的方法确实能达到比效的目的,,,但是,好像在我这里面起不作用,,

但是还得谢谢你,,,
qixuan21_4 2005-10-04
  • 打赏
  • 举报
回复
//方法
private void Upid()
{
bool fno= false; //判断是否存在相同的数据
//首先你要获得修改的值,将它保存进数组里
string[] temp = {<获得你修改的字段的值>};
//然后进行循环比对
//和你输入的值进行比对
if (temp.Length > 1)
{
for (int i = 0;i < temp.Length;i++)
{
for(int j = i+1;j < temp.Length;j++)
{
if (temp[i] == temp[j])
{
fno= false;
break;
}
else
{
fno= true;
}
}
}
}

//开始判断结果是否正确
if (fno)
{
//进行修改操作
..........(这就是你的任务咯:)
}
}

终于让我发出言咯 ,你看哈对你有用没
qixuan21_4 2005-10-04
  • 打赏
  • 举报
回复
真是的 想帮忙都没机会
qixuan21_4 2005-10-04
  • 打赏
  • 举报
回复
怎么我发表都不行啊
这什么 ASP.NET 论坛啊
总是说不要发表给我们带来伤害的言论

我狂晕是有法 伦 功 还是 什么词啊
也解释清楚吗
zhangfire 2005-10-03
  • 打赏
  • 举报
回复
呵呵,不好意思,最近VB.NET写多了。
在C#底下是直接用DataGrid[行号,列号]
再次抱歉抱歉。
wsd2616412 2005-10-03
  • 打赏
  • 举报
回复
我找了好久也没有找到DataGrid.Item(行号,列号),,
请问,,在哪,,或者说还有别的办法没有,,,

是在winform下面,,,
zhangfire 2005-10-03
  • 打赏
  • 举报
回复
增加的话,你直接对比数据库中的数据源,如果不重复即可:)
取单元格用DataGrid.Item(行号,列号)
wsd2616412 2005-10-03
  • 打赏
  • 举报
回复
当我同时增加多行时,,怎么来判断我的这几行里面以及原来的数据没有重复的呢,,

还有一个问题,,我怎么获取DataGriD控件的当前行第一列的值呢,,,???


紧急求助!!!!
zhangfire 2005-10-03
  • 打赏
  • 举报
回复
循环数据源进行判断。
图书库存管理系统 模块: …………………………………………………………………… 入库管理 出库管理 入库统计 FLASH画面-系统主控截面- 出库统计 入库结存报表 出库结存报表 权限维护 …………………………………………………………………… 创建图书管理数据库。(tsglbase) 创建表: 1:入库图书数据表(rkb) ………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 版次 text 10 库存数 integer 默认 单价 currency 默认 库存金额 currency 默认 入库时间 date/time 默认 …………………………………………………… 2: 图书出库数据表(ckb) ………………………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 版次 text 10 出库数 integer 默认 单价 currency 默认 出库金额 currency 默认 出库时间 date/time 默认 …………………………………………………… 3:图书主表(tszb) …………………………………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 ………………………………………………………… 4:密码表(mmb) …………………………………………………… 密码 text 20 主要的唯一的 不为空 用户名 text 50 ………………………………………………………… 张 123。。。。王 456 …………………………………………………………………………………………… 制作工程: 1:创建FLASH画面,FROM1(startFROM。FRM) 在窗体放一个计时器控件,在该控件用于控制FLASH画面显示的时间。 在放一个文本控件,用于计时,设置visible的属性为假,text属性为1 放一个图片控件,并引入一个图片, 2:制作系统主控界面,FROM2(MAINFROM。FRM) 在穿体放5个形状控件,shape1,shape2,shape3,shape4,shape5 还有个5个标签控件,在放一个标签控件,用于返回启动画面 在放一个数据控件DATA,用它来引入数据源,设置它为不可见 3: 制作图书入库管理窗体(入库管理)(inputbook。FRM) 在工程增加一个新窗体,该窗体用数据窗体向导加以制作, 在窗体布局选项用“主表/细表” “图书主表”和“入库图书数据表” 帮定类型选“ADO数据控件” 4: 制作图书出库窗体 (图书出库)(outputbook.frm) 在工程增加一个新窗体,该窗体用数据窗体向导加以制作, 在窗体布局选项用“主表/细表”两个表为 帮定类型选“ADO数据控件“ 在引用一个DATAGRID控件:把他的allowaddnew allowdelete allowupdata 属性设置为真 5:创建图书入库结算窗体(入库统计)(sumrk。FRM) 数据源控件ADODC,……………………………… name DATPRIMARYRS connectstring provider=microsoft.jet.oledb.3.51;data source=数据库路径 recordsource select 图书编号,书名,版次,库存数,单价 库存金额,作者,出版社,入库日期 from 入库图书数据表(rkb) …………………………………………………… 6:创建图书出库结存窗体(出库统计)。(tsck。FRM) 数据源控件ADODC,……………………………… name DATPRIMARYRS connectstring provider=microsoft.jet.oledb.3.51;data source=数据库路径 recordsource select 图书编号,书名,版次,出库数,单价 出库金额,作者,出版社,出库日期 from 出库图书数据表(ckb) …………………………………………………… 7:制作入库图书结存报表 工程——更多SctiveX设计器——data enviroment 单击connection1的属性,选择mcrosoft jet 3.51 ole db provider 单击下一步 数据提供者或连接数据源属性的全程为: provider= mcrosoft jet OLEDB.3.51 ;PERSIST security info=false; data source=数据库路径 然后,工程——添加 datareport (报表) 右击connection1,单击“添加命令”菜单,出现一个新的命令command1 该命令属性为 …………………… connectionname connction1 commandtype 2—adcmdtable commandtext 入库图书数据表 把datareport1的数据源的属性datasource为dtaenvironment1 在报表头带区放一个标签控件,用于说明报表名称:“图书入 库 结算报表” 在报表的页标头区放入5个标签控件,用于说明 报表每列的 内容 在报表的细节带区放5个文本框控件,用于显示数据表的数据 8:制作入库图书结存报表 制作工程和7一样 9:制作用户权限维护窗体mmform(mmform。frm)
net的最近面试经典试题ASP.NET面试题集合 1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。 2 .列举ASP.NET 页面之间传递的几种方式。 答. 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer 3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。 答:public class MainClass { public static void Main() { Console.WriteLine(Foo(30)); } public static int Foo(int i) { if (i 0 && i <= 2) return 1; else return Foo(i -1) + Foo(i - 2); } } 4.C#的委托是什么?事件是不是一种委托? 答 : 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。 是,是一种特殊的委托 5.override与重载的区别 答 : override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要 Override 是进行基类函数的重写。为了适应需要。 6.如果在一个B/S结构的系统需要传递变量,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? 答 : this.Server.Transfer 7.请编程遍历页面上所有TextBox控件并给它赋为string.Empty? 答: foreach (System.Windows.Forms.Control control in this.Controls) { if (control is System.Windows.Forms.TextBox) { System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ; tb.Text = String.Empty ; } } 8.请编程实现一个冒泡排序算法? 答: int [] array = new int ; int temp = 0 ; for (int i = 0 ; i < array.Length - 1 ; i++) { for (int j = i + 1 ; j < array.Length ; j++) { if (array[j] < array) { temp = array ; array = array[j] ; array[j] = temp ; } } } 9.描述一下C#索引器的实现过程,是否只能根据数字进行索引? 答:不是。可以用任意类型。 10.求以下表达式的,写出您想到的一种或几种实现方法: 1-2+3-4+……+m [Page] 答: int Num = this.TextBox1.Text.ToString() ; int Sum = 0 ; for (int i = 0 ; i < Num + 1 ; i++) { if((i%2) == 1) { Sum += i ; } else { Sum = Sum - I ; } } System.Console.WriteLine(Sum.ToString()); System.Console.ReadLine() ; 11.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:一般为3层 数据访问层,业务层,表示层。 数据访问层对数据库进行增删查改。 业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。 表示层为了与用户交互例如用户添加表单。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。 12.在下面的例子里 using Sy
程序的学习是一个循序渐进的过程,一些常用的或经典代码应该保存下来以便日后使用。本文就给出一些.net的经典代码,希望对大家有所帮助……   1.弹出对话框.点击转向指定页面   Response.Write("");   Response.Write("");   2.弹出对话框   Response.Write("");   3.删除文件  string filename ="20059595157517.jpg"; pub.util.DeleteFile(HttpContext.Current.Server.MapPath("../file/")+filename);   4.绑定下拉列表框datalist System.Data.DataView dv=conn.Exec_ex("select -1 as code,'请选择经营模式' as content from dealin union select code,content from dealin");   this.dealincode.DataSource=dv;   this.dealincode.DataTextField="content";   this.dealincode.DataValueField="code";   this.dealincode.DataBind();   this.dealincode.Items.FindByValue(dv[0]["dealincode"].ToString()).Selected=true;   5.时间去秒显示   6.标题带链接 <%# ""+ DataBinder.Eval(Container.DataItem,"proname")+""%>   7.修改转向 <%# ""+"修改"+""%>   8.弹出确定按钮 <%# ""+"删除"+""%>   9.输出数据格式化 "{0:F2}" 是格式 F2表示小数点后剩两位   10.提取动态网页内容   Uri uri = new Uri("http://www.webjx.com/");   WebRequest req = WebRequest.Create(uri);   WebResponse resp = req.GetResponse();   Stream str = resp.GetResponseStream();   StreamReader sr = new StreamReader(str,System.Text.Encoding.Default);   string t = sr.ReadToEnd();   this.Response.Write(t.ToString()); 11.获取" . "后面的字符   i.ToString().Trim().Substring(i.ToString().Trim().LastIndexOf(".")+1).ToLower().Trim()   12. 打开新的窗口并传送参数:   传送参数:   Button1.Attributes.Add("onclick","return confirm('确认?')"); button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}")   接收参数:   string a = Request.QueryString("id");   string b = Request.QueryString("id1");   13.为按钮添加对话框   Button1.Attributes.Add("onclick","return confirm('确认?')");   button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}")   14.删除表格选定记录   int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];   string deleteCmd = "Delete from Employee where emp_id = " + intEmpID.ToString()   15.删除表格记录警告   private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)   {   switch(e.Item.ItemType)   {   case ListItemType.Item :   case ListItemType.AlternatingItem :   case ListItemType.EditItem:   TableCell myTableCell;   myTableCell = e.Item.Cells[14];   LinkButton myDeleteButton ;   myDeleteButton = (LinkButton)myTableCell.Controls[0];   myDeleteButton.Attributes.Add("onclick","return confirm('您是否确定要删除这条信息');");   break;   default:   break;   }   }   16.点击表格行链接另一页   private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)   {   //点击表格打开   if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)   e.Item.Attributes.Add("onclick","window.open('Default.aspx?id=" + e.Item.Cells[0].Text + "');");   }   双击表格连接到另一页   在itemDataBind事件   if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)   {   string orderItemID =e.item.cells[1].Text;   e.item.Attributes.Add("ondblclick", "location.href='../ShippedGrid.aspx?id=" + orderItemID + "'");   }   双击表格打开新一页   if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)   {   string orderItemID =e.item.cells[1].Text;   e.item.Attributes.Add("ondblclick", "open('../ShippedGrid.aspx?id=" + orderItemID + "')");   }   16.表格超连接列传递参数   <asp:HyperLinkColumn Target="_blank" headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id=' <%# DataBinder.Eval(Container.DataItem, "数据字段1")%>' & name='<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>' />   17.表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)   {   e.Item.Attributes.Add("onclick","this.style.backgroundColor='#99cc00';   this.style.color='buttontext';this.style.cursor='default';");   }   写在DataGrid的_ItemDataBound里 if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)   {   e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#99cc00';   this.style.color='buttontext';this.style.cursor='default';");   e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='';this.style.color='';");   }   18.关于日期格式   日期格式设定   DataFormatString="{0:yyyy-MM-dd}"   我觉得应该在itembound事件 e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))   19.获取错误信息并到指定页面   不要使用Response.Redirect,而应该使用Server.Transfer   // in global.asax   protected void Application_Error(Object sender, EventArgs e) {   if (Server.GetLastError() is HttpUnhandledException)   Server.Transfer("MyErrorPage.aspx");   //其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 :)   }   Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理   20.清空Cookie   Cookie.Expires=[DateTime];   Response.Cookies("UserName").Expires = 0 21.自定义异常处理   //自定义异常处理类   using System;   using System.Diagnostics;   namespace MyAppException   {   ///   /// 从系统异常类ApplicationException继承的应用程序异常处理类。   /// 自动将异常内容记录到Windows NT/2000的应用程序日志   ///   public class AppException:System.ApplicationException   {   public AppException()   {   if (ApplicationConfiguration.EventLogEnabled)LogEvent("出现一个未知错误。");   }   public AppException(string message)   {   LogEvent(message);   }   public AppException(string message,Exception innerException)   {   LogEvent(message);   if (innerException != null)

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧