2009-03-25 11 views
0

XMLDatasourceを使用する標準の.net 2.0データグリッドがあります。データソースは、ボタンのクリックイベントでXML文字列をXMLdatasourceの "Data"プロパティに渡すことによって動的に設定されます。標準の.net 2.0グリッド/ XMLsourceのリフレッシュ

これは最初の回でうまくいきましたが、それ以降のボタンクリックではうまくいきませんでした。

xmlが変更されたにもかかわらず、グリッドは最初の出力のみを表示します。

グリッドが正しい値を表示するように更新するために必要なことはありますか?

現在コード

ASPXグリッドコード

<asp:GridView ID="GridView1" 
      Runat="server" 
      DataSourceID="XmlDataSource5" 
      AutoGenerateColumns="False" AllowPaging="True" 
      style="width:100%; height:100%;" 
      AutoGenerateSelectButton="True" 
      EnableViewState="False"> 
    <SelectedRowStyle BackColor="Red" /> 
    <Columns> 
     <asp:BoundField DataField="TYPE" HeaderText="TYPE" SortExpression="TYPE" /> 
     <asp:BoundField DataField="DESCRIPTION" HeaderText="DESCRIPTION" SortExpression="DESCRIPTION" /> 
    </Columns> 
</asp:GridView> 

vb.netコード_testLib.GetGridXMLが渡さ_numに基づいて、XML文字列を返す関数である

Private Sub btnTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTest.Click 

    XmlDataSource5.Data = _testLib.GetGridXML(_Num) 
    GridView1.DataBind() 
End Sub 

答えて

0

この問題は、Gridviewではなく、データソース自体の設定と関係していました!

これをリフレッシュするには、XMLDatasourceの "EnableCaching"プロパティを "False"に設定する必要がありました(デフォルトでは "True"に設定されています)。

Gridview.DataBindメソッドを呼び出さなくても、グリッドが正常に更新されます。

マクロとお手数をおかけしていただきありがとうございます。

+0

Good find - あなたがそれを修正してうれしい! – Macros

0

グリッド上の更新された値に再バインドするには、グリッド上でDataBindを呼び出す必要がありますデータソース

+0

XmlDataSource5.Dataプロパティが設定されている場所のすぐ下にGridView1.DataBind()を追加しようとしました..まだ何も... – eMTeeN

+0

コードとマークアップを投稿できますか? – Macros

+0

質問が現在のコードを含むように変更されました – eMTeeN

関連する問題