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