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

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

2013-01-11 
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里面...


------------------------以上信息都没问题....就是修改完后我重新提交.这样原先的数据就要删除..我想问我怎么删除呢?我想在我双击要修改的那一行时,绑定并同时删除那一行....(我没操作数据库.我想不会太难吧.一时糊涂实在想不起来了...).请教有识之士帮忙!
[解决办法]



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

[解决办法]
  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);
            }
[解决办法]
引用:
引用:
C# code

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


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


看清楚咯,是 db 不是 dataGrid1,什么眼神啊!

热点排行