日期:2014-05-17  浏览次数:20713 次

windowce!!!!!!!!!!没分了.只能在这发帖了. - Windows专区 / 非技术区
我现在做WindowCE开发遇到一个问题.因为智能设备开发里只能用datagrid 没有其他的... 我往datagrid里添加数据如下:
-------首先全局定义dt 与drrow
DataTable dt = new DataTable();
  DataRow drrow;
-------load方法加载时往datagrid里添加一行数据---------------------------------
DataColumn column1 = new DataColumn("托盘编号");
  DataColumn column2 = new DataColumn("存货编码");
  DataColumn column3 = new DataColumn("批次编号");
  DataColumn column4 = new DataColumn("箱数");
  DataColumn column5 = new DataColumn("数量");
  dt.Columns.Add(column1);//添加新列 
  dt.Columns.Add(column2);
  dt.Columns.Add(column3);
  dt.Columns.Add(column4);
  dt.Columns.Add(column5);
  dataGrid1.DataSource = dt; //执行绑定
------------某某方法里.往datagrid里一条条的添加数据.......
  drrow = dt.NewRow();
  drrow["托盘编号"] = textBox1.Text.Trim();
  drrow["存货编码"] = textBox2.Text.Trim();
  drrow["批次编号"] = textBox3.Text.Trim();
  drrow["箱数"] = textBox4.Text.Trim();
  drrow["数量"] = textBox5.Text.Trim();
  dt.Rows.Add(drrow);
  dataGrid1.DataSource = dt;
  以上全部功能都以实现往datagrid里添加数据(主要为了.在检查无误后一次性插入数据库!)
  --------------然后修改----我在datagrid的DoubleClick事件里把某一行的数据绑回textbox里面(添加信息与datagrid都在一个Form里~)实现代码如下:
  textBox1.Text = dataGrid1[dataGrid1.CurrentCell.RowNumber, 0].ToString();
  textBox2.Text = dataGrid1[dataGrid1.CurrentCell.RowNumber, 1].ToString();
  textBox3.Text = dataGrid1[dataGrid1.CurrentCell.RowNumber, 2].ToString();
  textBox4.Text = dataGrid1[dataGrid1.CurrentCell.RowNumber, 3].ToString();
  textBox5.Text = dataGrid1[dataGrid1.CurrentCell.RowNumber, 4].ToString();
  dataGrid1.Visible = false; 以上就是把datagrid双击的某行绑定到textbox里面...
------------------------以上信息都没问题....就是修改完后我重新提交.这样原先的数据就要删除..我想问我怎么删除呢?我想在我双击要修改的那一行时,绑定并同时删除那一行....(我没操作数据库.我想不会太难吧.一时糊涂实在想不起来了...).请教有识之士帮忙!

------解决方案--------------------
SQL code


update tableName 
Set column1=NewValue1
set column2=NewValue2
Where 条件,找到要更新的item

------解决方案--------------------
SQL code

update tableName 
Set column1=NewValue1,
    column2=NewValue2
Where id=1//条件,找到要更新的item

------解决方案--------------------
我的意思是你既然知道绑定数据,那为什么还要对控件进行操作,而不直接操作数据呢!

C# code

int index = dataGrid1.CurrentCell.RowNumber;

textBox1.Text = dt.Rows[index][0 /*"托盘编号"*/] as string;
...
textBox5.Text = dt.Rows[index][4 /*"数量"*/] as string;

// 修改完成后
db.Rows[index][0/*"托盘编号"*/] = textBox1.Text.Trim();
...
db.Rows[index][4 /*"数量"*/] = textBox5.Text.Trim();

// 提交改变
db.AcceptChanges()

------解决方案--------------------
C# code

// 一定要删除的话
db.Rows.RemoveAt(index);

------解决方案--------------------
DataTable table = new DataTable();
table.Columns.Add("ID",typeof(int));
table.Columns.Add("Name",typeof(string));
DataRow row = table.NewRow();
row["ID"]=1;
row["Name"]="t";
table.Rows.Add(row);
DataRow row2 = table.NewRow();