建了个DaTaTable
在vs2005下面绑定到datagridview(dg1)我想实现在dg1里面选择一行,按窗体上的删除按钮后删除DataTable中的相同数据!我是这样实现的,
string num = dg1.CurrentRow.Cells[1].Value.ToString();//取dg1中选择行的第二个单元格数据(因为我这个单元格中数据是唯一,从这里取出唯一商品编号(商品编号是string))DataRow dr = tb.Select(string.Format("商品编号={0}",num))[0];//根据DataTablee 的Select方法返回的DataRow数组,取第一个(因为商品编号唯一,只有一个).然后 
                    tb.Rows.Remove(dr);//删除
                    dg1.DataSource = tb;//重新绑定
问题:  当商品编号是纯数字的时候没错误,但是当山品编号是字母或者字母加数字的时候报错!!,比如我输入"21M06"时说什么语法错误:“M06”运算符后缺少操作数。有时候报找不到列。!!求救。问题在哪里。

解决方案 »

  1.   

    DataRow dr = tb.Select(string.Format("商品编号='{0}'",num))[0];
      

  2.   

    谢谢wuyi8808 
    晕死,我怎么忘了它是STRING,确实是个弱智问题!!没注意到。再次谢谢
    wuyi8808 结贴,给分
      

  3.   

    DataRow dr = tb.Select(string.Format("商品编号={0}",num))[0];//根据DataTablee 的Select方法返回的DataRow数组,取第一个(因为商品编号唯一,只有一个). 
    “商品编号”这个字段有错,每列的字段应该有一个可以绑定的英文字段,而不是中文。应该换成字母格式,如:
    DataRow dr = tb.Select(string.Format("productName={0}",num))[0];//
      

  4.   

    也谢谢lee13688 
    还解释了下,谢谢