没有使用循环,却不断循环,为何?

taz01 2010-10-06 02:18:11

protected void odsOrderList_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
if (e.ReturnValue != null)
{
DataSet ds = (DataSet)e.ReturnValue;
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
bool existsCheckAddress =ds.Tables[0].Columns.Contains("CheckAddress");
if (existsCheckAddress)
{
BoundField colCheckAddress = new BoundField();
colCheckAddress.DataField = "CheckAddress";
colCheckAddress.HeaderText = "联系地址";
colCheckAddress.ItemStyle.Width = 200;
this.gdvInfoList.Columns.Add(colCheckAddress);
}
}
}
}

在if (e.ReturnValue != null) 这一句设一断点,调试的时候,按F10一步一步调试。
当执行了this.gdvInfoList.Columns.Add(colCheckAddress);这一句的时候,
程序又跳回到if (e.ReturnValue != null)这一句,然后一直都是这样,搞到IIS都出错503挂了
怎么回事?
...全文
218 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
begintransaction 2010-10-06
  • 打赏
  • 举报
回复
wuyq11 2010-10-06
  • 打赏
  • 举报
回复
gridview根据ITemplate 实现动态添加列
taz01 2010-10-06
  • 打赏
  • 举报
回复
模板列用Column[index].visible=false;又不行 晕啊!
taz01 2010-10-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sp1234 的回复:]
把“联系地址”那一列在设计时声明,然后设置这一列的visible为false吧!
[/Quote]
如果“联系地址”有数据的话,如何显示?
找不到办法来代码控制visible
  • 打赏
  • 举报
回复
把“联系地址”那一列在设计时声明,然后设置这一列的visible为false吧!
taz01 2010-10-06
  • 打赏
  • 举报
回复
汗!高手午休了?
taz01 2010-10-06
  • 打赏
  • 举报
回复
BLL

[DataObjectMethod(DataObjectMethodType.Select)]
public DataSet GetOrderInfoForShoper(int productid, string ownerName, string orderNum, string tel, string coupon)
{
DataSet ds=dal.GetOrderInfoForShoper(productid,ownerName,orderNum,tel,coupon);
if(ds!=null&& ds.Tables[0].Rows.Count>0)
{
bool existsCheckAddress = false;
bool existsCouponNum = false;
foreach (DataRow row in ds.Tables[0].Rows)
{
if (string.IsNullOrEmpty(row["UseStatus"].ToString()))
{
row["UseStatus"] = 0;
}

if (!string.IsNullOrEmpty(row["LogisticsStatus"].ToString()))
{
int status = Convert.ToInt32(row["LogisticsStatus"]);
switch (status)
{
case 0:
row["UseStatus"] = 3;
break;
case 1:
row["UseStatus"] = 4;
break;
default:
break;
}
}

if (!existsCheckAddress && !string.IsNullOrEmpty(row["CheckAddress"].ToString()))
{
existsCheckAddress = true;
}

if (!existsCouponNum && !string.IsNullOrEmpty("CouponNum"))
{
existsCouponNum = true;
}
}


if (!existsCheckAddress)
{
ds.Tables[0].Columns.Remove("CheckAddress");
ds.Tables[0].Columns.Remove("CompanyName");
ds.Tables[0].Columns.Remove("LogisticsNumber");
}

if (!existsCouponNum)
{
ds.Tables[0].Columns.Remove("CouponNum");
}
}


return ds;
}





protected void gdvInfoList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView row = (DataRowView)e.Row.DataItem;
string oid = row["OrderID"].ToString();
if (row.DataView.Table.Columns.Contains("CouponNum"))
{
LinkButton b = (LinkButton)e.Row.FindControl("lnkbtnCoupon");
string couponNum = row["CouponNum"].ToString();
b.Text = couponNum;
b.OnClientClick = "showCoupon('" + oid + "');return false;";
}

LinkButton a = (LinkButton)e.Row.FindControl("lbtnStatus");
a.OnClientClick = "showDiv('" + oid + "',this);return false";
int useStatus = Convert.ToInt32(row["UseStatus"]);

switch (useStatus)
{
case 1:
a.Text = "未使用";
break;
case 2:
a.Text = "已使用";
break;
case 3:
a.Text = "未发货";
break;
case 4:
a.Text = "已发货";
break;
case 5:
a.Text = "已过时";
break;
default:
a.Text = "未修改";
break;
}
}
}


odsOrderList 是objectdatasouce
gdvInfoList 是GridView
q107770540 2010-10-06
  • 打赏
  • 举报
回复
目前代码说明不了问题
wuyq11 2010-10-06
  • 打赏
  • 举报
回复
贴出上下文
颤菊大师 2010-10-06
  • 打赏
  • 举报
回复
gdvInfoList 和 odsOrderList 的关系?
  • 打赏
  • 举报
回复
你的数据是否有500多?

62,271

社区成员

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

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

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

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