首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

windowce!没分了.只好在这发帖了

2012-12-24 
windowce!!!!!!!!!!没分了.只能在这发帖了.我现在做WindowCE开发遇到一个问题.因为智能设备开发里只能用da

windowce!!!!!!!!!!没分了.只能在这发帖了.
我现在做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里面...


------------------------以上信息都没问题....就是修改完后我重新提交.这样原先的数据就要删除..我想问我怎么删除呢?我想在我双击要修改的那一行时,绑定并同时删除那一行....(我没操作数据库.我想不会太难吧.一时糊涂实在想不起来了...).请教有识之士帮忙!
[最优解释]
  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();
            row2["ID"] = 2;
            row2["Name"] = "t2";
            table.Rows.Add(row2);
            DataRow[] rowArray = table.Select("ID=1");
            foreach(DataRow r in rowArray)
            {
                table.Rows.Remove(r);
            }
[其他解释]



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


[其他解释]

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





[其他解释]
我的意思是你既然知道绑定数据,那为什么还要对控件进行操作,而不直接操作数据呢!


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

[其他解释]

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

[其他解释]
引用:
引用:
C# code

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


windowCE智能设备开发中datagrid没有Rows属性.


看清楚咯,是 db 不是 dataGrid1,什么眼神啊!
[其他解释]
为什么要删除,应该是执行个更新操作吧
[其他解释]
在DataGrid 中删除选中的行,同时删除DataTable 中的数据行,重新再给DataTable 添加一行,在从新绑定数据



如果不删除,则更新DataGrid中选择的行,同时更新DataTable 中的相同数据行.在从新绑定就可以的
[其他解释]
大家不要想的那么复杂...我现在做的Windowce程序开发 用C#选择只能设备开发...datagrid的功能很少.Windowce和Form开发有一定区别.我就是想把我选择datagrid的那一行数据删除掉...不用操作数据库...根本没用到过数据库.里面数据都是一条一条手动添加到里面绑定到datagrid里的.现在只是想删除选中的一条...............痛苦!
[其他解释]
DataTable.LoadDataRow
[其他解释]

引用:
大家不要想的那么复杂...我现在做的Windowce程序开发 用C#选择只能设备开发...datagrid的功能很少.Windowce和Form开发有一定区别.我就是想把我选择datagrid的那一行数据删除掉...不用操作数据库...根本没用到过数据库.里面数据都是一条一条手动添加到里面绑定到datagrid里的.现在只是想删除选中的一条...............痛苦!

查下MSDN DataGrid methods
[其他解释]
引用:
C# code

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


windowCE智能设备开发中datagrid没有Rows属性.
[其他解释]
引用:
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.Ro……

.....呵呵,楼上正解~!太有才了....绝对的正解!再次感谢....................同时也再次感谢其他热心的朋友.谢谢!
[其他解释]



DataTable dt = new DataTable();
 ...
  dataGrid1.DataSource = dt; //执行绑定

//删除选中行
dt.DefaultView.Delete(DataGrid1.CurrentCell.RowNumber)


[其他解释]
学习了

热点排行