新手问个简单的DataTable问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ASP_sem 2007-12-12 02:20:41
string [] infoarray=chkchild.Split(new char[] { ';' });//将一串字符串遇到;就分割成新数组infoarray
for (int i=0;i< infoarray.Length ; i++)
{
string [] infoarray2=infoarray[i].Split(new char[] { ',' });
}
比如传过来的字符串是
1,101,CW728957...C0, 1.00;1,171,CW728957...ss, 77.00;1,263,CW728957...jj, 56.00

我想用绑定功能显现为(怎么在分割之后变成datatable哦?要变成datatable才能绑定是吧~)

厂商 件号 数量
101 CW728957...C0 1.00
171 CW728957...ss 77.00
263 CW728957...jj 56.00

麻烦用具体的例子和我说,不要用思路,因为我知道思路,但是不知道怎么写,新手没有办法哦~~
...全文
253 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
ASP_sem 2007-12-13
  • 打赏
  • 举报
回复
搞定啦o(∩_∩)o...哈哈,结贴给分

//将数组转化为datatable
string[] infoarray = chkchild.Split(new char[] { ';' });//将一串字符串遇到;就分割成新数组infoarray
//构建新的 table,并为其添加列
DataTable dt = new DataTable();
dt.Columns.Add("厂商", typeof(string));
dt.Columns.Add("件号", typeof(string));
dt.Columns.Add("数量", typeof(string));
//循环数据源,为dt赋值
for (int i= 0; i < infoarray.Length; i++)
{
string[] detail = infoarray[i].Split(new char[] { ','});


DataRow row = dt.NewRow();//获取带有dt结构的空数据行
for (int n = 0; n < 3; n++)//为空数据行添加数据
{
row[n] = detail[n+1];---就改了这句
}
dt.Rows.Add(row);//将带有数据的行添加到dt中
}

this.DataGrid1.DataSource = dt;
this.DataGrid1.DataBind();
ASP_sem 2007-12-13
  • 打赏
  • 举报
回复
//将数组转化为datatable
string[] infoarray = chkchild.Split(new char[] { ';' });//将一串字符串遇到;就分割成新数组infoarray
//构建新的 table,并为其添加列
DataTable dt = new DataTable();
dt.Columns.Add("厂商", typeof(string));
dt.Columns.Add("件号", typeof(string));
dt.Columns.Add("数量", typeof(string));
//循环数据源,为dt赋值
for (int i= 0; i < infoarray.Length; i++)
{
string[] detail = infoarray[i].Split(new char[] { ','});


DataRow row = dt.NewRow();//获取带有dt结构的空数据行
for (int n = 0; n < 3; n++)//为空数据行添加数据
{
row[n] = detail[n];
}
dt.Rows.Add(row);//将带有数据的行添加到dt中
}

this.DataGrid1.DataSource = dt;
this.DataGrid1.DataBind();


正对这个程式哦

Red_Tan o(∩_∩)o...哈哈可以咯
能不能再请教个问题哦,就是我传来的的数比如是1,2,2,2;
我只想绑定显示 2 2 2
1,不要了,该怎么办哦??
pt1314917 2007-12-13
  • 打赏
  • 举报
回复

当然可以,这个改一下就行了
List<item> list = new List<item>();
string [] infoarray=chkchild.Split(new char[] { ';' });//将一串字符串遇到;就分割成新数组infoarray
for (int i=0;i < infoarray.Length ; i++)
{
string [] infoarray2=infoarray[i].Split(new char[] { ',' });
item im = new item(infoarray2[0], infoarray2[1], infoarray2[2]);
list.Add(im);
}


改为------------------------

List<item> list = new List<item>();
string [] infoarray=chkchild.Split(new char[] { ';' });//将一串字符串遇到;就分割成新数组infoarray
for (int i=0;i < infoarray.Length ; i++)
{
string [] infoarray2=infoarray[i].Split(new char[] { ',' });
item im = new item(infoarray2[1], infoarray2[2], infoarray2[3]); --改这里
list.Add(im);
}

ASP_sem 2007-12-13
  • 打赏
  • 举报
回复
Red_Tan o(∩_∩)o...哈哈可以咯
能不能再请教个问题哦,就是我传来的的数比如是1,2,2,2;
我只想绑定显示 2 2 2
1,不要了,该怎么办哦??
wfyfngu 2007-12-13
  • 打赏
  • 举报
回复
数组也可以绑定到DataGrid。

将数组等转化为DataTable可以参考我的代码
http://www.rindex.cn/wfygrid/code.ajaxgrid.cs.htm
页面中的的3段代码《将 object 类型的数据源转化为 DataTable》
honey52570 2007-12-12
  • 打赏
  • 举报
回复
O_O
Red_Tan 2007-12-12
  • 打赏
  • 举报
回复
string[] infoarray = chkchild.Split(new char[] { ';' });//将一串字符串遇到;就分割成新数组infoarray
//构建新的 table,并为其添加列
DataTable dt = new DataTable();
dt.Columns.Add("厂商", typeof(string));
dt.Columns.Add("件号", typeof(string));
dt.Columns.Add("数量", typeof(string));
//循环数据源,为dt赋值
for (int i = 0; i < infoarray.Length; i++)
{
string[] detail = infoarray[i].Split(new char[] { ','});

DataRow row = dt.NewRow();//获取带有dt结构的空数据行
for (int n = 0; n < 3; n++)//为空数据行添加数据
{
row[n] = detail[n];
}
dt.Rows.Add(row);//将带有数据的行添加到dt中
}
this.dataGrid1.DataSource = dt;
this.dataGrid1.DataBind();
ASP_sem 2007-12-12
  • 打赏
  • 举报
回复
那在ASPX上要怎么写哦
北京的雾霾天 2007-12-12
  • 打赏
  • 举报
回复
实在不行你就把数据改成DAtaTable的,可以参考如下:

DataTable dt = new DataTable();
dt.Columns.Add("col1", typeof(string));
dt.Columns.Add("col2", typeof(string));
dt.Columns.Add("col3", typeof(decimal));

//可以用循环来执行下面的行
DataRow dr = dt.NewRow();
dr[0]=v1;
dr[1]=v2;
dr[2]=v3;

dt.Rows.Add(dr);

....

dataTable.DataSource = dt;
ASP_sem 2007-12-12
  • 打赏
  • 举报
回复
Red_Tan 也是用gridView1
可是我现在用的2003是没有哦,只有datagrid哦
fang1572 2007-12-12
  • 打赏
  • 举报
回复
飘过
Red_Tan 2007-12-12
  • 打赏
  • 举报
回复
this.gridView1.DataSource = dt;
this.gridView1.DataBind();
Red_Tan 2007-12-12
  • 打赏
  • 举报
回复
我上班时间冒险帮你写的,要给分哦~

string[] infoarray = chkchild.Split(new char[] { ';' });//将一串字符串遇到;就分割成新数组infoarray
//构建新的 table,并为其添加列
DataTable dt = new DataTable();
dt.Columns.Add("厂商", typeof(string));
dt.Columns.Add("件号", typeof(string));
dt.Columns.Add("数量", typeof(string));
//循环数据源,为dt赋值
for (int i = 0; i < infoarray.Length; i++)
{
string[] detail = infoarray[i].Split(new char[] { ','});

DataRow row = dt.NewRow();//获取带有dt结构的空数据行
for (int n = 0; n < 3; n++)//为空数据行添加数据
{
row[n] = detail[n];
}
dt.Rows.Add(row);//将带有数据的行添加到dt中
}
ASP_sem 2007-12-12
  • 打赏
  • 举报
回复
那写法上就是把 gridview1 改为 datagrid1 ??
那 .ASPX 界面要怎么写哦???
lizheng__114 2007-12-12
  • 打赏
  • 举报
回复
没有gridview 那就用datagrid
也可以绑定
ASP_sem 2007-12-12
  • 打赏
  • 举报
回复
还有没有人教下哦
北京的雾霾天 2007-12-12
  • 打赏
  • 举报
回复
其它的像DataGrid不可以吗?我对这个确实没有测试过。
ASP_sem 2007-12-12
  • 打赏
  • 举报
回复
只要在GridView上设置好相应的列,或自动生成列就可以正常的实现绑定数组了。

2003中没有 GridView 咋办啊????
ASP_sem 2007-12-12
  • 打赏
  • 举报
回复
我试试哈,如果可以的话我就结贴啦,先谢谢大家哦
wdzr_826 2007-12-12
  • 打赏
  • 举报
回复
支持hbxtlhx
加载更多回复(4)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧