【发布时间】:2017-07-18 09:37:01
【问题描述】:
我在 sql 中有 Ref 表和 patientDetails。例如,在参考文献中,我有带有值(女性、男性等)的性别列,在患者详细信息中,性别列是 24,我将数据绑定到患者详细信息,并且我在 Gridview 的性别列中有 24,但它应该是女性。 (外键和导航属性不起作用,因为我在 Ref 表中有很多不同的行,比如种族、宗教等)。有人告诉我 RowDataBound 会起作用,所以我现在有了这个方法,但它没有超过 If 语句行。..
更多详情:
我的数据源绑定到具有 Gender 列的 PatientDetails 表(带有数字值 - 这是从 ref 表中获取的)。我的意思是我有 Ref 表(就像查找所有内容一样 - 包含 ID、名称、描述列)在名称中我有性别、民族、宗教)在描述列中我有例如性别的值:男性、女性等但是在Patient 中的 Gender 列正在返回值的相应 Ref ID - 对于女性,它将在 Patient 的 Gender 列中存储 24),因此我的 Gridview 边界正确并获取存储在 PatientDetails 表中的内容,但是 Gender 中的 24、25 没有帮助显示所以我被告知 RowDataBound 可以在 Ref 表中带来正确的对应值
Protected Sub gvPatientDetails_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim lblGender As Label = e.Row.FindControl("lblGender)
End If
End Sub
<asp:GridView ID="gvPatientDetails" runat="server" AutoGenerateColumns="false" OnRowDataBound="gvPatientDetails_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Gender">
<ItemTemplate>
<asp:Label ID="lblGender" runat="server" Text='<% #Eval("lblGender") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
【问题讨论】:
-
用网格显示你的 aspx
-
嗨蒂姆,我已经添加了 aspx 部分。谢谢!
-
您的数据源是否有性别列值?正如您编写的 Label test has
<% #Eval("lblGender") %>,lblGender 是您在 DataSource 中的列名吗?
标签: asp.net vb.net gridview rowdatabound