DataRowView rowv = (DataRowView)e.Item.DataItem; 强转有点有关问题
DataRowView rowv = (DataRowView)e.Item.DataItem; 强转有点问题!
不知道怎么样解决我贴下代码
<form id="form1" runat="server">
<div>
开始时间:<asp:TextBox
ID="starttime" runat="server" Width="221px"
onclick="WdatePicker({startDate:'%y-%M-01 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"></asp:TextBox>
结束时间:<asp:TextBox ID="endtime" runat="server" Width="221px"
onclick="WdatePicker({startDate:'%y-%M-01 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="查询" />
<br />
<br />
<br />
<asp:Repeater id="repLM" runat="server" onitemdatabound="repLM_ItemDataBound">
<ItemTemplate>
<table >
<tr>
<td colspan="2">
<div align="left">
<table>
<tr>
<td >
<%# DataBinder.Eval(Container.DataItem, "zhihangmingcheng")%> </td>
<td >
<%# DataBinder.Eval(Container.DataItem, "平均")%> </td>
<td >
<%# DataBinder.Eval(Container.DataItem, "wangdianid")%> </td>
<td >
<%# DataBinder.Eval(Container.DataItem, "ATM数量")%> </td>
</tr>
<tr>
<td>
<table border="0" style="border-collapse: collapse" width="100%" id="table10">
<asp:Repeater id="repWZ" runat="server">
<ItemTemplate>
<tr>
<td >
<%# DataBinder.Eval(Container.DataItem, "atmbianhao")%> </td>
<td >
<%# DataBinder.Eval(Container.DataItem, "jinger")%> </td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td width="87%">
</td>
<td width="12%" class="more"><span lang="zh-cn">更多</span></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Text;
using System.Data.SqlClient;
namespace Maticsoft.Web.Admin
{
public partial class AtmJianKongbyWandian : System.Web.UI.Page
{
Maticsoft.BLL.atmJiankong bll = new Maticsoft.BLL.atmJiankong();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Session["Admin_User"] == null)
{
Response.Redirect("login.aspx");
Response.End();
}
else
{
}
}
}
protected void repLM_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate,
//HeaderTemplate,,ItemTemplate,SeparatorTemplate)
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("repWZ") as Repeater;//找到里层的repeater对象
DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项
就是这里会报错。哎。求指教啊,谢谢
int typeid = Convert.ToInt32(rowv["wangdianid"]); //获取填充子类的id
StringBuilder strtime = new StringBuilder();
if (starttime.Text.Trim() != "" && endtime.Text.Trim() != "")
{
strtime.Append(" charushijian >='" + starttime.Text.ToString() + "' and charushijian<='" + endtime.Text.ToString() + "'");
}
string sqlconn = @"Data Source=127.0.0.1;Initial Catalog=atm;User ID=sa;Password=110110110";
using (SqlConnection cn = new SqlConnection(sqlconn))
{
cn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select ta.id,ta.atmbianhao,ta.jinger,flag,tb.zhihangmingcheng,tb.wangdianid,tb.adminname from ( ");
strSql.Append("select id,atmbianhao,jinger, ");
strSql.Append(" CASE jinger WHEN '0' THEN '有故障' ");
strSql.Append(" ELSE '无故障' END as flag from atmjiankong t1 where ");
strSql.Append("" + strtime + " and ");
strSql.Append("t1.atmbianhao not in ( ");
strSql.Append(" select distinct tt1.atmbianhao from atmguzhangjiankong tt1 ");
strSql.Append("where ");
strSql.Append("" + strtime + " ");
strSql.Append(") ");
strSql.Append("union ");
strSql.Append("select id,atmbianhao,0 jinger,'有故障' as flag from atmjiankong t1 where ");
strSql.Append("" + strtime + " and ");
strSql.Append("t1.atmbianhao in ( ");
strSql.Append(" select distinct tt1.atmbianhao from atmguzhangjiankong tt1 ");
strSql.Append("where ");
strSql.Append("" + strtime + " ");
strSql.Append(")) ta,(select tv3.id,tv1.zhihangmingcheng,tv2.adminname,tv1.id as wangdianid from wangdiandetail tv1,atminfo tv2,atmjiankong tv3 where tv1.id=tv2.zhihangmingchengid ");
strSql.Append("and tv2.atmbianhao=tv3.atmbianhao) tb where ta.id=tb.id ");
strSql.Append("and wangdianid=" + typeid + " ");
SqlCommand cmd = new SqlCommand(strSql.ToString(), cn);
SqlDataReader dr = cmd.ExecuteReader();
rep.DataSource = dr;
rep.DataBind();
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
BindData();
}
public void BindData()
{
StringBuilder strtime = new StringBuilder();
if (starttime.Text.Trim() != "" && endtime.Text.Trim() != "")
{
strtime.Append(" charushijian >='" + starttime.Text.ToString() + "' and charushijian<='" + endtime.Text.ToString() + "'");
}
string sqlconn = @"Data Source=127.0.0.1;Initial Catalog=atm;User ID=sa;Password=110110110";
using (SqlConnection cn = new SqlConnection(sqlconn))
{
cn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select sum(ttt.jinger)/count(ttt.atmbianhao) '平均',count(ttt.atmbianhao) 'ATM数量',ttt.zhihangmingcheng,ttt.wangdianid from ");
strSql.Append("( ");
strSql.Append("select ta.id,ta.atmbianhao,ta.jinger,flag,tb.zhihangmingcheng,tb.wangdianid,tb.adminname from ( ");
strSql.Append("select id,atmbianhao,jinger, ");
strSql.Append(" CASE jinger WHEN '0' THEN '有故障' ");
strSql.Append(" ELSE '无故障' END as flag from atmjiankong t1 where ");
strSql.Append(" " + strtime + " ");
strSql.Append(" and ");
strSql.Append("t1.atmbianhao not in ( ");
strSql.Append(" select distinct tt1.atmbianhao from atmguzhangjiankong tt1 ");
strSql.Append("where ");
strSql.Append("" + strtime + " ");
strSql.Append(") ");
strSql.Append("union ");
strSql.Append("select id,atmbianhao,0 jinger,'有故障' as flag from atmjiankong t1 where ");
strSql.Append(" " + strtime + " and ");
strSql.Append("t1.atmbianhao in ( ");
strSql.Append(" select distinct tt1.atmbianhao from atmguzhangjiankong tt1 ");
strSql.Append("where ");
strSql.Append(" " + strtime + " ");
strSql.Append(")) ta,(select tv3.id,tv1.zhihangmingcheng,tv2.adminname,tv1.id as wangdianid from wangdiandetail tv1,atminfo tv2,atmjiankong tv3 where tv1.id=tv2.zhihangmingchengid ");
strSql.Append("and tv2.atmbianhao=tv3.atmbianhao) tb where ta.id=tb.id ");
strSql.Append(") ttt group by ttt.zhihangmingcheng,wangdianid ");
SqlCommand cmd = new SqlCommand(strSql.ToString(), cn);
SqlDataReader dr = cmd.ExecuteReader();
repLM.DataSource = dr;
repLM.DataBind();
}
}
}
}
------解决思路----------------------
refer:http://www.eifr.com/article.php?id=182
不知道怎么样解决我贴下代码
<form id="form1" runat="server">
<div>
开始时间:<asp:TextBox
ID="starttime" runat="server" Width="221px"
onclick="WdatePicker({startDate:'%y-%M-01 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"></asp:TextBox>
结束时间:<asp:TextBox ID="endtime" runat="server" Width="221px"
onclick="WdatePicker({startDate:'%y-%M-01 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="查询" />
<br />
<br />
<br />
<asp:Repeater id="repLM" runat="server" onitemdatabound="repLM_ItemDataBound">
<ItemTemplate>
<table >
<tr>
<td colspan="2">
<div align="left">
<table>
<tr>
<td >
<%# DataBinder.Eval(Container.DataItem, "zhihangmingcheng")%> </td>
<td >
<%# DataBinder.Eval(Container.DataItem, "平均")%> </td>
<td >
<%# DataBinder.Eval(Container.DataItem, "wangdianid")%> </td>
<td >
<%# DataBinder.Eval(Container.DataItem, "ATM数量")%> </td>
</tr>
<tr>
<td>
<table border="0" style="border-collapse: collapse" width="100%" id="table10">
<asp:Repeater id="repWZ" runat="server">
<ItemTemplate>
<tr>
<td >
<%# DataBinder.Eval(Container.DataItem, "atmbianhao")%> </td>
<td >
<%# DataBinder.Eval(Container.DataItem, "jinger")%> </td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td width="87%">
</td>
<td width="12%" class="more"><span lang="zh-cn">更多</span></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Text;
using System.Data.SqlClient;
namespace Maticsoft.Web.Admin
{
public partial class AtmJianKongbyWandian : System.Web.UI.Page
{
Maticsoft.BLL.atmJiankong bll = new Maticsoft.BLL.atmJiankong();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Session["Admin_User"] == null)
{
Response.Redirect("login.aspx");
Response.End();
}
else
{
}
}
}
protected void repLM_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate,
//HeaderTemplate,,ItemTemplate,SeparatorTemplate)
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("repWZ") as Repeater;//找到里层的repeater对象
DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项
就是这里会报错。哎。求指教啊,谢谢
int typeid = Convert.ToInt32(rowv["wangdianid"]); //获取填充子类的id
StringBuilder strtime = new StringBuilder();
if (starttime.Text.Trim() != "" && endtime.Text.Trim() != "")
{
strtime.Append(" charushijian >='" + starttime.Text.ToString() + "' and charushijian<='" + endtime.Text.ToString() + "'");
}
string sqlconn = @"Data Source=127.0.0.1;Initial Catalog=atm;User ID=sa;Password=110110110";
using (SqlConnection cn = new SqlConnection(sqlconn))
{
cn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select ta.id,ta.atmbianhao,ta.jinger,flag,tb.zhihangmingcheng,tb.wangdianid,tb.adminname from ( ");
strSql.Append("select id,atmbianhao,jinger, ");
strSql.Append(" CASE jinger WHEN '0' THEN '有故障' ");
strSql.Append(" ELSE '无故障' END as flag from atmjiankong t1 where ");
strSql.Append("" + strtime + " and ");
strSql.Append("t1.atmbianhao not in ( ");
strSql.Append(" select distinct tt1.atmbianhao from atmguzhangjiankong tt1 ");
strSql.Append("where ");
strSql.Append("" + strtime + " ");
strSql.Append(") ");
strSql.Append("union ");
strSql.Append("select id,atmbianhao,0 jinger,'有故障' as flag from atmjiankong t1 where ");
strSql.Append("" + strtime + " and ");
strSql.Append("t1.atmbianhao in ( ");
strSql.Append(" select distinct tt1.atmbianhao from atmguzhangjiankong tt1 ");
strSql.Append("where ");
strSql.Append("" + strtime + " ");
strSql.Append(")) ta,(select tv3.id,tv1.zhihangmingcheng,tv2.adminname,tv1.id as wangdianid from wangdiandetail tv1,atminfo tv2,atmjiankong tv3 where tv1.id=tv2.zhihangmingchengid ");
strSql.Append("and tv2.atmbianhao=tv3.atmbianhao) tb where ta.id=tb.id ");
strSql.Append("and wangdianid=" + typeid + " ");
SqlCommand cmd = new SqlCommand(strSql.ToString(), cn);
SqlDataReader dr = cmd.ExecuteReader();
rep.DataSource = dr;
rep.DataBind();
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
BindData();
}
public void BindData()
{
StringBuilder strtime = new StringBuilder();
if (starttime.Text.Trim() != "" && endtime.Text.Trim() != "")
{
strtime.Append(" charushijian >='" + starttime.Text.ToString() + "' and charushijian<='" + endtime.Text.ToString() + "'");
}
string sqlconn = @"Data Source=127.0.0.1;Initial Catalog=atm;User ID=sa;Password=110110110";
using (SqlConnection cn = new SqlConnection(sqlconn))
{
cn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select sum(ttt.jinger)/count(ttt.atmbianhao) '平均',count(ttt.atmbianhao) 'ATM数量',ttt.zhihangmingcheng,ttt.wangdianid from ");
strSql.Append("( ");
strSql.Append("select ta.id,ta.atmbianhao,ta.jinger,flag,tb.zhihangmingcheng,tb.wangdianid,tb.adminname from ( ");
strSql.Append("select id,atmbianhao,jinger, ");
strSql.Append(" CASE jinger WHEN '0' THEN '有故障' ");
strSql.Append(" ELSE '无故障' END as flag from atmjiankong t1 where ");
strSql.Append(" " + strtime + " ");
strSql.Append(" and ");
strSql.Append("t1.atmbianhao not in ( ");
strSql.Append(" select distinct tt1.atmbianhao from atmguzhangjiankong tt1 ");
strSql.Append("where ");
strSql.Append("" + strtime + " ");
strSql.Append(") ");
strSql.Append("union ");
strSql.Append("select id,atmbianhao,0 jinger,'有故障' as flag from atmjiankong t1 where ");
strSql.Append(" " + strtime + " and ");
strSql.Append("t1.atmbianhao in ( ");
strSql.Append(" select distinct tt1.atmbianhao from atmguzhangjiankong tt1 ");
strSql.Append("where ");
strSql.Append(" " + strtime + " ");
strSql.Append(")) ta,(select tv3.id,tv1.zhihangmingcheng,tv2.adminname,tv1.id as wangdianid from wangdiandetail tv1,atminfo tv2,atmjiankong tv3 where tv1.id=tv2.zhihangmingchengid ");
strSql.Append("and tv2.atmbianhao=tv3.atmbianhao) tb where ta.id=tb.id ");
strSql.Append(") ttt group by ttt.zhihangmingcheng,wangdianid ");
SqlCommand cmd = new SqlCommand(strSql.ToString(), cn);
SqlDataReader dr = cmd.ExecuteReader();
repLM.DataSource = dr;
repLM.DataBind();
}
}
}
}
------解决思路----------------------
refer:http://www.eifr.com/article.php?id=182