为什么一个datatable中两次使用 car.Rows.Add(newRow);发现添加的数据不在同一行。

问题描述

car.Columns.Add("线路名称",typeof(System.String));//car.Columns.Add("线路宽度",Type.GetType("System.String"));car.Columns.Add("序号(必填)",Type.GetType("System.String"));car.Columns.Add("纬度",typeof(System.Double));car.Columns.Add("经度",typeof(System.Double));DataRownewRow;newRow=car.NewRow();newRow["线路名称"]=rcs.ToString();car.Rows.Add(newRow);for(inti=0;i<strs.Length;i++){newRow=car.NewRow();strs2=strs[i].Split('|');//car.Rows[j][0]=strs2[i+1].ToString();//car.Rows[j][1]=strs2[i+2].ToString();//car.Rows[j][2]=strs2[i+3].ToString();newRow["序号(必填)"]=strs2[1];newRow["纬度"]=strs2[2];newRow["经度"]=strs2[3];car.Rows.Add(newRow);}//strs2=strs[1].Split('|');//newRow["线路宽度"]=strs[4].ToString();//car.Rows[1][0]="线路名称";////dcar.Rows[1][2]="areaname";////car.Rows[2][0]="线路宽度(单位:米)";//car.Rows[3][0]="序号(必填)";//car.Rows[2][1]="width";dataGridView1.DataSource=car;try{UserFun.DataGridViewToExcel(dataGridView1);}catch{MessageBox.Show("导出错误,请重试!");}}

解决方案

解决方案二:
而且后面经度纬度,小数点后面的数字四舍五入了给,原来有十多位~~求大神们帮帮忙~~~
解决方案三:
使用几次Add就添加几行。自己调试代码
解决方案四:
撸主,每次DataTable.Rows.Add(DataRow)是添加一个新行比如讲一个DataRow包括6列,你要把6列都填充完,再添加不是先赋值两个字段,Add一次!你没Add一次DataRow,DataTable产生一条新行
解决方案五:
添加多行的话,代码改成car.Columns.Add("线路名称",typeof(System.String));car.Columns.Add("序号(必填)",Type.GetType("System.String"));car.Columns.Add("纬度",typeof(System.Double));car.Columns.Add("经度",typeof(System.Double));for(inti=0;i<strs.Length;i++){DataRownewRow=car.NewRow();newRow["线路名称"]=rcs.ToString();strs2=strs[i].Split('|');newRow["序号(必填)"]=strs2[1];newRow["纬度"]=strs2[2];newRow["经度"]=strs2[3];car.Rows.Add(newRow);}dataGridView1.DataSource=car;

解决方案六:
看来你都没有真正理解DataTable的操作含义啊car.Rows.Add(newRow);这句就是增加一个新行而不是你理解的那样另外数据四舍五入的问题应该是你的控件设置问题
解决方案七:
引用4楼lovelj2012的回复:

添加多行的话,代码改成car.Columns.Add("线路名称",typeof(System.String));car.Columns.Add("序号(必填)",Type.GetType("System.String"));car.Columns.Add("纬度",typeof(System.Double));car.Columns.Add("经度",typeof(System.Double));for(inti=0;i<strs.Length;i++){DataRownewRow=car.NewRow();newRow["线路名称"]=rcs.ToString();strs2=strs[i].Split('|');newRow["序号(必填)"]=strs2[1];newRow["纬度"]=strs2[2];newRow["经度"]=strs2[3];car.Rows.Add(newRow);}dataGridView1.DataSource=car;

那后面那个问题怎么解决啊大神,导出到EXCEL表的数据,经度和纬度只有10位,不知道怎么调的多一些~~~
解决方案八:
引用2楼duanzi_peng的回复:

使用几次Add就添加几行。自己调试代码

谢谢了~~~
解决方案九:
引用5楼huangcailian的回复:

看来你都没有真正理解DataTable的操作含义啊car.Rows.Add(newRow);这句就是增加一个新行而不是你理解的那样另外数据四舍五入的问题应该是你的控件设置问题

那个控件设置要怎么改啊?我能够导出一整行数据,但是光单个导出一个数据的时候就会出现这种问题。

时间: 2024-10-03 20:00:09

为什么一个datatable中两次使用 car.Rows.Add(newRow);发现添加的数据不在同一行。的相关文章

javaweb-求助啊,怎么实现一个frameset中两个jsp间的数据传输呢?

问题描述 求助啊,怎么实现一个frameset中两个jsp间的数据传输呢? 其中一个jsp提交form表单,另外一个jsp获取到提交过来的数据 解决方案 表单提交到另外一个jsp页面用request对象获取不就行了?和frameset有什么关系? 如果不想提交,另外一个frame获取某个frame里面输入的数据,使用parent.getElementById('frameID').contentWindow.documemt.getElementById获取frame中的控件 解决方案二: ??

scene-cocos2d-x向一个场景中两次添加布同一个景

问题描述 cocos2d-x向一个场景中两次添加布同一个景 auto scene=Scene::create(); //创建一个场景类 auto layer=TilesMapSimpleLayer::create();//创建一个布景 scene->addChild(layer); //将场景添加进布景 auto layerMap=TilesMapSimpleLayer::create();//创建一个布景 layerMap->scene=scene; //TilesMapSimpleLaye

获得一个DataTable中的奇数行和偶数行

   DataTable dt = GetData();   int count = dt.Rows.Count;    DataTable dt_jishu = new DataTable();   DataTable dt_oushu = new DataTable();   dt_jishu = dt.Copy();   dt_oushu = dt.Copy();  for(int i = 1; i <= count/2; i++)   dt_jishu.Rows.RemoveAt(i);

关于c#中两个DataGrid绑定到主表和子表的数据同步问题

datagrid|数据|数据同步|问题 在数据库编程中,我们常常要将主表和子表分别绑定到两个DataGrid,同时还有一些TextBox之类的控件要显示相应DataGrid中的数据,这时候数据的同步就成了一个问题.这个问题的解决方法就是使用BindingManagerBase来管理数据了.在DataSet中的两个表之间添加关系 private void CreateRelation(Dataset ds,string relationname,string MasterTableName,str

一个方法中两个return

问题描述 发现这样一个方法publicStringcreateJson(){try{JSONObjectjsonObject=newJSONObject();jsonObject.put("id","1");jsonObject.put("name","李磊");jsonObject.put("age",30);returnjsonObject.toString();}catch(Exceptione){e

一个类中两个方法,怎么在方法间传值

问题描述 publicclassUserDaoPostextendsDeclarativeWebScript{privateEducationServiceRegistrylemServiceRegistry;publicvoidsetLemServiceRegistry(EducationServiceRegistrylemServiceRegistry){this.lemServiceRegistry=lemServiceRegistry;}@OverrideprotectedMap<Str

请问一个网页中两个按钮分别点出来不同的东西怎么做?

问题描述 就是说在这个网页中实现分层点第一个按钮显示1点第二个按钮显示2同时隐藏第一个按钮显示的1!请告诉我一个简单的例子!谢谢 解决方案 解决方案二:使用z-index或者设置visible解决方案三:protectedvoidbtn1_Click(objectsender,EventArgse){btn2.Visible=true;btn1.Visible=false;}protectedvoidbtn2_Click(objectsender,EventArgse){btn1.Visible

将DataTable中的一行复制到另一个DataTable的方法_实用技巧

将DataTable中的一行复制到另一个DataTable 方法1:         DataRow dr = ds2.Tables[0].NewRow();         dr.ItemArray = ds1.Tables[0].Rows[i].ItemArray;         ds2.Tables[0].Rows.Add( dr );  方法2:      ds2.Tables[0].ImportRow(ds1.Tables[0].Rows[i]);

sql-将一个数据库中的所有表复制到另一个数据库中

问题描述 将一个数据库中的所有表复制到另一个数据库中 两个数据库不在一个服务器上!!! 比如我本机的ip地址为11.12.13.15 数据库名称为sqljiang 登陆名和密码分别为sa和sa123 服务器的ip为22.33.55.66 数据库名称为sqlfwqsjl 服务器中的数据库是空的 现在我想将本机sqljiang中的所有信息完整复制到服务器中,包括表结构. 表中的数据.视图.存储过程等,如何通过脚本实现. 由于服务器没有这么大的权限,因此不能通过直接还原数据库备份的方法... 解决方案