关于dataGrid的问题

liusijiawo 2006-10-26 11:54:14
我写了下面这段代码可是存在问题
ds=new DataSet();
DialogResult result;
result=MessageBox.Show("是否确定删除","提示信息",MessageBoxButtons.YesNo);
if(result==DialogResult.Yes)
{
int x=this.dataGrid1.CurrentRowIndex;
string n=ds.Tables["s"].Rows[x]["szrq"].ToString(); [就是这里的SZRQ出错了]
SqlConnection con=db.condb();
con.Open();
SqlCommand cmd=new SqlCommand("delete from sc_15xj where szrq='"+n+"'",con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("删除成功");
ds.Clear();
this.o();

}
系统提示不正确 请帮忙解决下问题我已经标出
...全文
112 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kangfc 2006-10-26
  • 打赏
  • 举报
回复
从你的代码看,没看到读取数据到ds里的代码,只是实例化了一下,肯定是有问题的.
kangfc 2006-10-26
  • 打赏
  • 举报
回复
应该是“szrq”名称不对,与ds里表对应的字段不一致造成的.
Kyle_Yuan 2006-10-26
  • 打赏
  • 举报
回复
用監看式看一下ds.Tables["s"].Rows[x]["szrq"]是否為Null
喝醉的咖啡 2006-10-26
  • 打赏
  • 举报
回复

// ds=new DataSet(); ds 不需要实例化,定义即可
DialogResult result;
result=MessageBox.Show("是否确定删除","提示信息",MessageBoxButtons.YesNo);
if(result==DialogResult.Yes)
{
DataSet ds = this.dataGrid1.DataSource;
int x=this.dataGrid1.CurrentRowIndex;
string n=ds.Tables["s"].Rows[x]["szrq"].ToString(); [就是这里的SZRQ出错了]
// .... ....
// ds.Clear(); 如果 clear,dataGrid1 里面的数据也就 clear 了,因为 ds 实际上是对 dataGrid1.DataSource 的引用
}
喝醉的咖啡 2006-10-26
  • 打赏
  • 举报
回复
〉从你的代码看,没看到读取数据到ds里的代码,只是实例化了一下,肯定是有问题的.
正解

没错,ds 实例化了(new了)但是没有数据在里面,
string n=ds.Tables["s"].Rows[x]["szrq"].ToString(); [就是这里的SZRQ出错了]
当然要出错

改为
ds = (DataSet) this.dataGrid1.DataSource; 试试看——前提是你的 dataGrid1.DataSource 本来绑定的就是你后面访问的正确的 DataSet

其实你学好了数据绑定,有更容易的实现方式,何必舍近求远?
lsj_zrp 2006-10-26
  • 打赏
  • 举报
回复
你的ds.Tables["s"].Rows[x]["szrq"]可能为null
GXY2005 2006-10-26
  • 打赏
  • 举报
回复
应该是“szrq”名称不对,与ds里表对应的字段不一致造成的.
早起晚睡 2006-10-26
  • 打赏
  • 举报
回复
单步执行一下看看情况
idda 2006-10-26
  • 打赏
  • 举报
回复
焦点不在DataGrid的时候 CurrentRowIndex 会为-1????
jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签 1.3.6更新 Bug treegrid: getChecked方法不能返回正确的行. fixed. tree: 异步树,在onlyLeafCheck:true时复选框不显示正确. fixed. Improvement treegrid:继承datagrid组件所有的selecting和checking方法。 linkbutton:图标对齐方式,支持值:'top','bottom','left','right'。 linkbutton:添加"size"属性,支持值:'small','large'。 linkbutton:添加的onClick事件。 menubutton:添加"menuAlign"属性,允许用户设置顶级菜单对齐。 combo:添加"panelAlign"属性,支持值:'left','right'。 calendar:"formatter"、"styler"和"validator"选项可用于自定义日历日期。 calendar:添加的onChange事件。 panel:添加"method","queryParams"和"loader"属性。 panel:添加"onLoadError"事件。 datagrid:添加"onBeginEdit"事件。 datagrid:添加"onEndEdit"事件。 datagrid:添加"sort"方法和"onBeforeSortColumn"事件。 datagrid:"combogrid"编辑器集成到datagriddatagrid:添加"ctrlSelect"属性,允许使用ctrl+click 多选 slider:添加"converter"选项,允许用户决定如何将一个值转换为滑块的位置或滑块位置值。 searchbox:添加"disabled"属性。 searchbox:添加"disabled","enable","clear","reset"方法。 spinner:添加"readonly"属性、"readonly"方法和"onChange事件。

111,111

社区成员

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

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

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