DevExpress网格视图错误

时间:2013-06-21 11:48:09

标签: aspxgridview

我在Visual Studio 2010上使用DevExpress组件GridView时遇到问题。

我想做的事情非常简单。我有一个按钮,当它被点击时,我想显示如下消息:“gridview中第0行的X列值为Y”。

按钮的代码也非常简单:

Protected Sub b_test_Click(ByVal sender As Object, ByVal e As EventArgs) Handles b_test.Click
    Dim aux As String
    aux = t_tickets.GetRowValues(0, "numero_de_ticket").ToString

    MsgBox(aux)
End Sub

这段代码完美无缺,但它有一种奇怪的行为。

如果我选择gridview中的第一行,它可以正常工作。但是,如果我选择不同的行,单击该按钮时会出现以下错误:

System.Data.MissingPrimaryKeyException: A primary key field specified via the KeyFieldName property is not found in the underlying data source. Make sure the field name is spelled correctly

我总是选择第一行。当我选择不同的Row时,我不知道为什么会出现此错误。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

我认为你的问题不是Click功能。您正在进行回发,尝试将所选行发送到服务器端,而此行没有密钥。

您应检查ASPX文件以查看 KeyFieldName ,并检查数据源标识字段是否已声明。

<dx:ASPxGridView runat="server" Id="t_tickets" KeyFieldName="Id">
...
...
...
</dx:ASPxGridView>

我认为你会发现你的情况是错误的。这意味着您指定为KeyFieldName的内容不是与Grid行对应的数据源对象的Property成员。 (或者它不是数据源中select语句的一部分)

相关问题