界面上有一个BUTTON,两个gridview:gv1,gv2;
gv1查询数据库,得到DataTable, table1然后databind这个table1..
我在gv1的点击行事件中,再动态创建DataTable,table2;然后gv2再databind这个table2.
可发现这个gv2不显示,请问这是怎么回事啊?
如果我直接单击BUTTON时,gv2就会显示数据。
有点乱,不知我说明白了没?
现在是动态创建DataTable:table2,并databind到gv2上的代码:void gridViewBind()
{
DataTable table = new DataTable();
DataColumn colStart = new DataColumn("start", typeof(string));
DataColumn colStop = new DataColumn("length", typeof(string));
DataColumn colPath = new DataColumn("path", typeof(string)); table.Columns.Add(colStart);
table.Columns.Add(colStop);
table.Columns.Add(colPath); DataRow row = table.NewRow();
row["start"] = "aa";
row["length"] = "bb";
row["path"] = "cc";
table.Rows.Add(row); GridView2.DataSource = table;
GridView2.DataBind();
}
gv1查询数据库,得到DataTable, table1然后databind这个table1..
我在gv1的点击行事件中,再动态创建DataTable,table2;然后gv2再databind这个table2.
可发现这个gv2不显示,请问这是怎么回事啊?
如果我直接单击BUTTON时,gv2就会显示数据。
有点乱,不知我说明白了没?
现在是动态创建DataTable:table2,并databind到gv2上的代码:void gridViewBind()
{
DataTable table = new DataTable();
DataColumn colStart = new DataColumn("start", typeof(string));
DataColumn colStop = new DataColumn("length", typeof(string));
DataColumn colPath = new DataColumn("path", typeof(string)); table.Columns.Add(colStart);
table.Columns.Add(colStop);
table.Columns.Add(colPath); DataRow row = table.NewRow();
row["start"] = "aa";
row["length"] = "bb";
row["path"] = "cc";
table.Rows.Add(row); GridView2.DataSource = table;
GridView2.DataBind();
}
{
}
把代码放到if(!ispostback)
{
}
确实能显示,可问题是我现在不能放在这里,我要在另一个gridview的单击行事件中,调用这些代码,请问该如何解决啊?
<asp:GridView ID="DG_Record" OnRowDataBound="DG_Record_RowDataBound" >//为gv1的每行添加单击行事件
protected void DG_Record_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{ //鼠标移动到每项时颜色交替效果
e.Row.Attributes.Add("OnMouseOut", "this.style.backgroundColor='White';this.style.color='#003399'");
e.Row.Attributes.Add("OnMouseOver", "this.style.backgroundColor='#6699FF';this.style.color='#8C4510'"); //单击/双击 事件
DataRowView row = (DataRowView)e.Row.DataItem;
e.Row.Attributes.Add("onclick", "fnOnClickGridView(" + row["recordingsid"] + ");return false;");
e.Row.Attributes.Add("runat", "server"); //设置悬浮鼠标指针形状为"小手"
e.Row.Attributes["style"] = "Cursor:hand";
} }//下面是在javascript中的代码,就是上面的函数fnOnClickGridView;//单击grid view
function fnOnClickGridView(recordingsid)
{
//问题:清除cache
//解决:http://blog.csdn.net/norsd/archive/2009/04/27/4128677.aspx
var xml2Http
xml2Http = createXMLHttpRequest();
var url = "Record.aspx?recordingsid="+recordingsid;
xml2Http.open("GET",url,true);
xml2Http.setRequestHeader("No-Cache","1");
xml2Http.setRequestHeader("Pragma","no-cache");
xml2Http.setRequestHeader("Cache-Control","no-cache");
xml2Http.setRequestHeader("Expire","0");
xml2Http.setRequestHeader("Last-Modified","Wed, 1 Jan 1997 00:00:00 GMT");
xml2Http.setRequestHeader("If-Modified-Since","-1");
xml2Http.send(null);
}在执行了前台的javascript函数后,现在又转到服务器上的C#函数:protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
try
{
if (Request.QueryString["recordingsid"].ToString() != string.Empty)
{
gridViewBind(); //这就是在动态创建一个datatable,并databind到gv2上
return;
}
} catch()....
}
}