Обновление стандартной сетки .net 2.0 / XMLsource - PullRequest
0 голосов
/ 25 марта 2009

У меня есть стандартная сетка данных .net 2.0, которая использует XMLDatasource. Источник данных задается динамически путем передачи строки XML в свойство «Данные» источника данных XML для события нажатия кнопки.

Это сработало в первый раз, но не при последующих нажатиях кнопок.

т.е. даже если передаваемый 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

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

где _testLib.GetGridXML - это функция, которая возвращает строку XML на основе переданного _Num.

Ответы [ 2 ]

0 голосов
/ 25 марта 2009

Проблема заключалась в настройке самого источника данных, а не Gridview!

Чтобы обновить его, мне нужно было установить для свойства «EnableCaching» в XMLDatasource значение «False» (по умолчанию установлено значение «True»).

Сетка теперь прекрасно обновляется даже без вызова метода Gridview.DataBind.

Спасибо за ваше время и помощь Макросы!

0 голосов
/ 25 марта 2009

Вам необходимо вызвать DataBind в сетке, чтобы повторно привязать его к обновленным значениям в источнике данных

...