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();