问题描述
protectedvoidbtnAnalyze_Click(objectsender,EventArgse){stringstrSql="";bindAnalyzeView(strSql);//绑定Gridview1控件的方法txtSql.Text.Trim()//txtSql.Text=strSql.Trim();this.GridView2.Visible=false;//盘点清单按钮隐藏Gridview2控件}privatevoidbindAnalyzeView(stringstrSql)//绑定统计信息到页面gridview控件{this.Label2.Text=null;DataTableobjDataTableS=newDataTable();//new一个新表,放查询出来的盘点数据ArrayListarDt=newArrayList();//存放datatable的数组for(inta=0;a<this.ListBox1.Items.Count;a++){if(this.ListBox1.Items[a].Selected){//stringstrPnum=listBox1.SelectedItems[i].ToString();//盘点批次编号this.Label2.Text+="|"+this.ListBox1.Items[a].Text;string[]st=this.Label2.Text.Trim().Split('|');//stringpici=st[a];this.Label4.Text=st[1];for(intc=1;c<st.Length;c++){stringpici=st[c].ToString();this.Label4.Text=pici;//大分类中查询的盘点数据总数stringstrSql1="selecttbAssetsClass.classname资产类别,count(*)盘点总数fromtbassetsdatainnerjointbAssetsClassontbAssetsClass.ccode=substring(tbassetsdata.固定资产编号,1,2)where固定资产编号in(selectcodefromtbchecktemp2wherecodein(selectcardcodefromtbcheckupwherechecknum='"+pici+"')andfk_checknumid='"+this.ListBox1.SelectedValue.Trim()+"')groupbysubstring(tbassetsdata.固定资产编号,1,2),tbAssetsClass.classname";DataTabledtt=newDataTable();DataTableobjDataTable=objCDataLib.getobjDataTable(strSql1,"v_assetseasy");dtt.TableName=pici;//将批次号作为表的名字DataColumndc1=newDataColumn("资产类别");DataColumndc2=newDataColumn("盘点");dtt.Columns.Add(dc1);dtt.Columns.Add(dc2);DataRowdr=null;for(inti=0;i<objDataTable.Rows.Count;i++){dr=dtt.NewRow();dr[0]=objDataTable.Rows[i][0];if(objDataTable.Rows.Count==0)//判断是否有盘点数据,否则显示0{dr[1]=0;}else{dr[1]=objDataTable.Rows[i][1];}dtt.Rows.Add(dr);}//将选择批次的表放在ArrayList数组里arDt.Add(dtt);objDataTableS.Columns.Add("");//第一个列名为空//用来添加列名for(intm=0;m<arDt.Count;m++)//arDt为ArrayList数组,遍历arDt里放的表{DataTabledt=(DataTable)arDt[m];//将ArrayList里的arDt转换为DataTableobjDataTableS.Columns.Add(dt.TableName.Trim());//将批次作为列名}//for(inti=0;i<arDt.Count;i++){DataTabledt=(DataTable)arDt[i];foreach(DataRowdrrindt.Rows){if(objDataTableS.Rows.Count>0){//foreach(DataRowdr22inobjDataTable.Rows)intinx=objDataTableS.Rows.Count;intisExist=0;for(intj=0;j<inx;j++){DataRowdr22=objDataTableS.Rows[j];if(drr["资产类别"].ToString().Trim()==dr22[0].ToString().Trim()){dr22[dt.TableName.Trim()]=drr["盘点"].ToString().Trim();isExist++;}else{}}if(isExist==0){DataRowdrs=objDataTableS.NewRow();drs[0]=drr["资产类别"].ToString().Trim();drs[dt.TableName.Trim()]=drr["盘点"].ToString().Trim();objDataTableS.Rows.Add(drs);}}else{DataRowdrs=objDataTableS.NewRow();drs[0]=drr["资产类别"].ToString().Trim();drs[dt.TableName.Trim()]=drr["盘点"].ToString().Trim();objDataTableS.Rows.Add(drs);}}}}}}this.GridView1.DataSource=objDataTableS;this.GridView1.DataBind();}各位大侠帮帮忙sql语句无误能查出数据就是gridview不能显示数据!要实现的功能是可多选Listbox里的数据将分别查询出来的datatable放在一个gridview里显示。。。(大家帮帮忙谢了,这算是报表了)
解决方案
解决方案二:
帮顶~
解决方案三:
乱...看得头晕
解决方案四:
放前台的gridview代码出来,检查一下是不是设置自动绑定数据为false了,同时你前台没有绑定字段
解决方案五:
visible=True了点击按钮调用了方法protectedvoidbtnAnalyze_Click(objectsender,EventArgse){stringstrSql="";bindAnalyzeView(strSql);//绑定Gridview1控件的方法txtSql.Text.Trim()}可是还不行。。。。
解决方案六:
visible=True了前台也绑定字段了点击按钮也调用方法了就好似不显示。。。!看着是有点头晕,帮帮忙了。。。
解决方案七:
是你在绑定的时候某个属性的名字写得和数据库表里面的名字不一样了!!!呵呵呵,分给我吧!!
解决方案八:
把斷點定在這裡DataTabledtt=newDataTable();之後,拷貝strSql1的值到sql的分析器里執行一下,看是否有結果。如果沒有,就是上面的語句出了問題,否則是下面得語句出了問題。