2012-02-27 4 views
0

GridView 및 차트가 있습니다. Gridview에서 시간 경과 데이터를 플로팅하고 있습니다. Gridview에서 차트 업데이트 - Gridview 업데이트 후 차트 업데이트

enter image description here

문제 : 차트가의 GridView가하는 동시에 업데이트됩니다하지 않습니다. 그것은 항상 한 걸음 뒤로입니다 (한 번의 추가 클릭이 필요합니다).

메커니즘 : 이것은 시간 경과 그래프입니다. 시작일과 종료일이 있으며 나는 그것들을 특별한 방법으로 계획하고있다. 그래서 page_load 함수에서 Grid의 값을 읽었습니다.

foreach (GridViewRow row in GridView1.Rows) 
     { 
     // read the values that I need from the Grid 
     // and assign them to chart to create the chart 
     } 

GridView1.DateBind(); 
Char1.DataBind(); 

페이지 새로 고침 방식을 시도했지만 작동하지 않았습니다. 알아 내려는 중이 야, 내가 잘못하고있는거야? 3D 버튼은 방법에 의해 잘 작동하고 그것이 잘못한 것 중 하나입니다 : 즉석에서 생성 한 것이 아닌 SQLDataSource에서 실제 쿼리를 실행합니다.

Suspicion : 문제의 SQLDataSource를 의심하고 있습니다. 나는 ASPX 페이지에 하나를 넣었다. 나는 SQL 쿼리를 변경하고 문제가 될 수 있다고 생각합니까?

+0

가 :

어쩌면 당신은 이런 식으로 뭔가를 시도 할 수 있습니다 ? 이전 검색의 값이 표시됩니까? 그렇다면 차트를 확보하기 위해 foreach를 실행하기 전에 GridView를 DataBind해야 할 수 있습니다. . . – Roise

+0

보시다시피 GridView에는 값이 있지만 그 값은 차트에 채워지지 않습니다. 검색을 다시 클릭해야만 차트가 채워집니다. DataBind() GridView 및 차트에서 데이터를 업데이트 한 곳에서 사용했습니다. –

답변

0

일부 UpdatePanel을 사용하고 있습니까? "그것은 한 걸음 뒤로 항상 (한 추가 클릭이 필요합니다)."당신이 무슨 뜻 이죠

DataTable dt = new DataTable(); 
dt.Columns.Add("Column1"); 
dt.Columns.Add("Column2"); 

foreach (GridViewRow row in GridView1.Rows) 
{ 
    dt.Rows.Add(GridView1.HeaderRow.Cells[0].Text, row.Cells[0].Text); 
} 

cht.DataSource = dt; 

cht.Series["serie"].XValueMembers = "Column1"; 
cht.Series["serie"].YValueMembers = "Column2"; 

cht.DataBind(); 
+0

아니요. Gridve SQL DataSource 및 Chard. 마스터 페이지가 있습니다. –

+0

그래서 foreach에만 기반한 차트 데이터입니까, 아니면 SqlDataSource에 연결되어 있습니까? 나는 너에게 동의한다. sqldatasource에 뭔가가 있다고 생각합니다 ... –

+0

SQLDataSource에 차트가 첨부되지 않았습니다. foreach를 사용하여 데이터를 수동으로 매핑합니다. –

관련 문제