asp.net 中table里面循环td的的数据 如何合并成一条
例如:|武汉|--武昌|汉口|青山|武汉|--汉阳|江夏合并成一行:武汉----武昌,汉口,青山,汉阳,江夏如图...
例如: |武汉|--武昌|汉口|青山
|武汉|--汉阳|江夏
合并成一行:武汉----武昌,汉口,青山 ,汉阳,江夏
如图 展开
|武汉|--汉阳|江夏
合并成一行:武汉----武昌,汉口,青山 ,汉阳,江夏
如图 展开
3个回答
展开全部
分析发现:
1)只要将"--"之后的"|"符号替换成“,”
2)将“--”前“||”内相同的值出重复即可。
无非是string类的操作问题。
以下代码已经测试:
string result = null;
string str=" |武汉|--武昌|汉口|青山";
string str1=str.Substring(str.LastIndexOf("--")+2,str.Length-str.LastIndexOf("--")-2);
str1 = str1.Replace("|", ",");//实现了:“武昌|汉口|青山”--->“武昌,汉口,青山”
string str2 = str.Substring(2, str.IndexOf("--")-3);
//截取出“武汉”,不用str.Substring(2, 4);考虑到有多于两个字地名的情况
MessageBox.Show(str2+"--"+str1);
str = " |武汉|--汉阳|江夏";
string str3 = str.Substring(2, str.IndexOf("--") - 3);
if (str3 == str2)
{
result = str2 + "----" + str1;
str1=str.Substring(str.LastIndexOf("--") + 2, str.Length - str.LastIndexOf("--") - 2);
str1 = str1.Replace("|", ",");
result = result + ","+str1;
}
MessageBox.Show(result);
若很多条数据,完全可以稍加改造成一个函数,调用即可
1)只要将"--"之后的"|"符号替换成“,”
2)将“--”前“||”内相同的值出重复即可。
无非是string类的操作问题。
以下代码已经测试:
string result = null;
string str=" |武汉|--武昌|汉口|青山";
string str1=str.Substring(str.LastIndexOf("--")+2,str.Length-str.LastIndexOf("--")-2);
str1 = str1.Replace("|", ",");//实现了:“武昌|汉口|青山”--->“武昌,汉口,青山”
string str2 = str.Substring(2, str.IndexOf("--")-3);
//截取出“武汉”,不用str.Substring(2, 4);考虑到有多于两个字地名的情况
MessageBox.Show(str2+"--"+str1);
str = " |武汉|--汉阳|江夏";
string str3 = str.Substring(2, str.IndexOf("--") - 3);
if (str3 == str2)
{
result = str2 + "----" + str1;
str1=str.Substring(str.LastIndexOf("--") + 2, str.Length - str.LastIndexOf("--") - 2);
str1 = str1.Replace("|", ",");
result = result + ","+str1;
}
MessageBox.Show(result);
若很多条数据,完全可以稍加改造成一个函数,调用即可
更多追问追答
追问
我是用一个表格的,两行四列
这里上传不了 图片 给你的感觉不是很直观了,所以用了-- || 来形容了。呵呵
追答
建议你写个函数,循环调用。其中的-- || 标示符修改下。
祝早日解决!
展开全部
你问的问题有点儿不清楚啊
追问
武汉|武昌|汉口|青山------这是一行
武汉|汉阳|江夏|阳逻------这也是一行
现在呢 要做的就是把两行合并成一行 武汉|武昌|汉口|青山|汉阳|江夏|阳逻
我请教别人 sql 语句是可以控制的。
追答
把循环读出的td的数据放到一个集合里面,然后再给那下面的td赋值时就把这个集合的值赋给它
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你用的是Repeater显示数据的话:
<tr>
<Repeater>
<ItemTemplate>
<td><asp:textbox id='a' text='<%#Eval("cityName")%>' /></td>
</ItemTemplate>
</Repeater>
</tr>
让所有的数据都显示在一行不就行了
<tr>
<Repeater>
<ItemTemplate>
<td><asp:textbox id='a' text='<%#Eval("cityName")%>' /></td>
</ItemTemplate>
</Repeater>
</tr>
让所有的数据都显示在一行不就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询