自己似乎有点眼高手低,不过从今天开始,我要改掉这个毛病。
今天遇到的第一个问题是。把数据导入到Exl里面出错了。
类型“GridView”的控件“gv”必须放在具有 runat=server 的窗体标记内。
解决办法:在页面中重写Page基类的VerifyRenderingInServerForm方法
public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for
}
第二个问题是两个表有关系。是通过一个表里有另一表的ID
但是我想要另一个表里字段名字。不要ID
就这样传值就可以了
<%# new SysMaintenance.BusinessRule.CstmInfo.Cstm().GetCstmName(Convert.ToString(Eval("CustomerID")))%>
public string GetCstmName(string CstmID);
public string GetCstmName(string CstmID)
{
string SQL = "select CName from T_Customer where CustomerID = '" + CstmID + "'";
DataTable dtb = DbHelper.DbHelperSQL.Query(SQL).Tables[0];
if (dtb.Rows.Count > 0)
{
return dtb.Rows[0][0].ToString();
}
else
{
return "";
}
}
这样就好了。嘿嘿。
问题找不到了。好像是在位置0处找不到。
平常大家可能会这样写 tb.Rows[1]["DelegateName"].ToString().Trim()
如果出现问题了。只要判断一下就没事了。
if (dtb!= null && dtb.Rows.Count>= 0 && dtb.Rows.Count > 0)
{
ReturnValue += dtb.Rows[1]["DelegateName"].ToString().Trim() + ";";
}
dtb是DaTaTable的对象。