gridview绑定数据后无法正确显示 gridview的edittemplate分别加入了textbox和dropdownlist等几个控件手动绑定数据后gridview无法正常显示,不知是何原因,请高手指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://community.csdn.net/Expert/topic/5676/5676297.xml?temp=.1219751可以参考一下最好能贴一下代码 没有提示错误,就是不显示数据部分代码如下 SqlDataAdapter sqlDA = new SqlDataAdapter(strSch, (SqlConnection)Session["sqlConn"]); DataTable dtTmp = new DataTable("TableTmp"); ds.Tables.Add(dtTmp); sqlDA.Fill(dtTmp); DataTable dtAcad, dtAward; dtAcad = new DataTable("Acad"); dtAward = new DataTable("Award"); ds.Tables.Add(dtAcad); ds.Tables.Add(dtAward); SqlDataAdapter daAcad, daAward; foreach (DataRow row in dtTmp.Rows) { strSch = "SELECT * FROM [Academic] WHERE 证件号='" + row["证件号"] + "'"; daAcad = new SqlDataAdapter(strSch, (SqlConnection)Session["sqlConn"]); daAcad.Fill(dtAcad); strSch = "SELECT * FROM [Award] WHERE 证件号='" + row["证件号"] + "'"; daAward = new SqlDataAdapter(strSch, (SqlConnection)Session["sqlConn"]); daAward.Fill(dtAward); DataRow dr = dt.NewRow(); dr["证件号"] = row["证件号"]; dr["姓名"] = row["姓名"]; dr["部门"] = row["部门"]; dr["综合评议结果"] = row["综合评议结果"]; dr["群众评议结果"] = row["群众评议结果"]; dr["履行岗位情况"] = row["履行岗位情况"]; dr["学术成果"] = dtAcad.Rows.Count.ToString() + "篇学术论文及专著"; dr["奖励情况"] = dtAward.Rows.Count.ToString() + "项奖励"; dr["评议时间"] = row["评议时间"]; dt.Rows.Add(dr); } AE_GV.DataSource = dt; AE_GV.DataBind(); 用DATASET将数据读取出来,然后绑定。是不是绑定的列名错了! 你看看对你有用没! static DataTable tb; //绑定一条空数据 private void bind() { tb= new DataTable(); DataColumn code = new DataColumn("code"); code.DefaultValue = ""; tb.Columns.Add(code); DataColumn c = new DataColumn("invoice"); c.DefaultValue = ""; tb.Columns.Add(c); c = new DataColumn("Name"); c.DefaultValue = ""; tb.Columns.Add(c); c = new DataColumn("SPECTYPE"); c.DefaultValue = ""; tb.Columns.Add(c); c = new DataColumn("STARTDATE"); c.DefaultValue = ""; tb.Columns.Add(c); c = new DataColumn("WORKLOAD"); c.DefaultValue = ""; tb.Columns.Add(c); c = new DataColumn("RAWVALUE"); c.DefaultValue = ""; tb.Columns.Add(c); DataRow row = tb.NewRow(); tb.Rows.Add(row); this.GridView1.DataSource = tb; this.GridView1.DataBind(); }//添加数据 private void bind2() { DataRow row = tb.NewRow(); row["code"] = ((DropDownList)GridView1.FooterRow.FindControl("DropDownList1")).SelectedValue; row["invoice"] = ((DropDownList)GridView1.FooterRow.FindControl("DropDownList1")).SelectedItem.Text; row["Name"] = ((Label)GridView1.FooterRow.FindControl("Label1")).Text; row["SPECTYPE"] = ((TextBox)GridView1.FooterRow.FindControl("TextBox2")).Text; row["STARTDATE"] = ((Label)GridView1.FooterRow.FindControl("Label3")).Text; row["WORKLOAD"] = ((Label)GridView1.FooterRow.FindControl("Label4")).Text; row["RAWVALUE"] = ((Label)GridView1.FooterRow.FindControl("Label5")).Text; tb.Rows.Add(row); this.GridView1.DataSource = tb; this.GridView1.DataBind(); } 刚才我把AutoGenerateColumns设置为true,出现了结果,可是是在自动生成的列里显出了数据,我的模板列里仍然没有数据 dtTmp 好像还没有获取到数据把,你单步调试以下,看看有没有进入那个循环 edittemplate里面的控件只有在gridview进入编辑模式时才可以显示出来 QQMagicer(在IT的路上越走越远)dtTmp有数据,能跟到循环里的tjvictor(终于升星了,向两星奋斗)是啊,我是想在进行编辑模式才显示控件在非编辑模式里只显示数据 问题解决,在控件上用Eval("")绑定字段就搞定了,谢谢楼上各位 如何保存非纯文本数据???急! [玻璃鱼V]谁能告诉我怎么绑定域名啊? .net中 水晶报表 数据绑定 如何修改input type=file 显示的“浏览”字样 有关Repeater控件的问题 FCKeditor 在asp.ent如何使用 有没有写过软件开发平台?? 50相求如何在asp.exe中调用window的录音机? 正则高手 看你是不是精通 System.NullReferenceException: 未将对象引用设置到对象的实例? gridview的刷新疑问 AjaxPro的问题
最好能贴一下代码
部分代码如下
SqlDataAdapter sqlDA = new SqlDataAdapter(strSch, (SqlConnection)Session["sqlConn"]);
DataTable dtTmp = new DataTable("TableTmp");
ds.Tables.Add(dtTmp);
sqlDA.Fill(dtTmp); DataTable dtAcad, dtAward;
dtAcad = new DataTable("Acad");
dtAward = new DataTable("Award");
ds.Tables.Add(dtAcad);
ds.Tables.Add(dtAward); SqlDataAdapter daAcad, daAward;
foreach (DataRow row in dtTmp.Rows)
{
strSch = "SELECT * FROM [Academic] WHERE 证件号='" + row["证件号"] + "'";
daAcad = new SqlDataAdapter(strSch, (SqlConnection)Session["sqlConn"]);
daAcad.Fill(dtAcad); strSch = "SELECT * FROM [Award] WHERE 证件号='" + row["证件号"] + "'";
daAward = new SqlDataAdapter(strSch, (SqlConnection)Session["sqlConn"]);
daAward.Fill(dtAward); DataRow dr = dt.NewRow();
dr["证件号"] = row["证件号"];
dr["姓名"] = row["姓名"];
dr["部门"] = row["部门"];
dr["综合评议结果"] = row["综合评议结果"];
dr["群众评议结果"] = row["群众评议结果"];
dr["履行岗位情况"] = row["履行岗位情况"];
dr["学术成果"] = dtAcad.Rows.Count.ToString() + "篇学术论文及专著";
dr["奖励情况"] = dtAward.Rows.Count.ToString() + "项奖励";
dr["评议时间"] = row["评议时间"];
dt.Rows.Add(dr); }
AE_GV.DataSource = dt;
AE_GV.DataBind();
static DataTable tb;
//绑定一条空数据
private void bind()
{
tb= new DataTable();
DataColumn code = new DataColumn("code");
code.DefaultValue = "";
tb.Columns.Add(code);
DataColumn c = new DataColumn("invoice");
c.DefaultValue = "";
tb.Columns.Add(c);
c = new DataColumn("Name");
c.DefaultValue = "";
tb.Columns.Add(c);
c = new DataColumn("SPECTYPE");
c.DefaultValue = "";
tb.Columns.Add(c);
c = new DataColumn("STARTDATE");
c.DefaultValue = "";
tb.Columns.Add(c);
c = new DataColumn("WORKLOAD");
c.DefaultValue = "";
tb.Columns.Add(c);
c = new DataColumn("RAWVALUE");
c.DefaultValue = "";
tb.Columns.Add(c); DataRow row = tb.NewRow();
tb.Rows.Add(row);
this.GridView1.DataSource = tb;
this.GridView1.DataBind();
}
//添加数据
private void bind2()
{
DataRow row = tb.NewRow();
row["code"] = ((DropDownList)GridView1.FooterRow.FindControl("DropDownList1")).SelectedValue;
row["invoice"] = ((DropDownList)GridView1.FooterRow.FindControl("DropDownList1")).SelectedItem.Text;
row["Name"] = ((Label)GridView1.FooterRow.FindControl("Label1")).Text;
row["SPECTYPE"] = ((TextBox)GridView1.FooterRow.FindControl("TextBox2")).Text;
row["STARTDATE"] = ((Label)GridView1.FooterRow.FindControl("Label3")).Text;
row["WORKLOAD"] = ((Label)GridView1.FooterRow.FindControl("Label4")).Text;
row["RAWVALUE"] = ((Label)GridView1.FooterRow.FindControl("Label5")).Text;
tb.Rows.Add(row);
this.GridView1.DataSource = tb;
this.GridView1.DataBind();
}
dtTmp有数据,能跟到循环里的tjvictor(终于升星了,向两星奋斗)
是啊,我是想在进行编辑模式才显示控件
在非编辑模式里只显示数据