使用microsoft访问后端在asp.net gridview中将查找数据显示为文本

时间:2010-12-13 09:53:59

标签: asp.net gridview drop-down-menu

当我必须在ASP.net页面中显示查找表数据(使用MS Access后端)时,我面临一个无聊的问题

asp.net页面将显示其数据的主表 Employees 包括一个字段 main.gender ,其类型为“Integer”,链接到查找表性别

如果表格链接到gridview,则相关字段将显示

“1”或“2”

我需要显示

“男性”和“女性”

我找到了解决这个问题的两种方法,但我认为其中任何一个都不是最好的选择

第一种方式:

- 将gridview字段性别转换为模板字段,将链接到查找表的下拉列表替换为编辑模板中的标签,并将性别显示为文本 - 将DDL enabled = false设为“只读” -problem是DDL显示暗淡的文本

第二种方式:

使用gender.gender(text)替换Employee.gender(整数)的select查询 这种方式在数据检索方面是多么轻松

任何人都可以帮我找到一种以更“专业”的方式显示文字的方法

2 个答案:

答案 0 :(得分:2)

您可以使用数据创建枚举:

protected enum MyEnum
{
 male = 1,
 female = 2
}

然后使用这样的东西:

<asp:GridView runat="server" ID="gridView1" AutoGenerateColumns="false" >
  <Columns>
   <asp:BoundField DataField="PropertyName" />
   //Add one column for your each property you want to display

   <asp:TemplateField HeaderText="Gender">
     <ItemTemplate>
         <%# (MyEnum)Eval("Gender") %>
     </ItemTemplate>
   </asp:TemplateField>
 </Columns>
</asp:GridView>

希望它会有所帮助。

答案 1 :(得分:1)

Mokokamello

尝试在asp.net datasource select命令中使用join,下面是伪代码的样子

<asp:AccessDataSource ID="AccessDataSource1" runat="server" 
        DataFile="~/App_Data/database.mdb" 
        SelectCommand="SELECT Table1.ID, Table1.NameEmployee, Gender.Gender FROM Table1 INNER JOIN Gender ON Table1.gender = Gender.ID">
                    </asp:AccessDataSource>

它不需要代码,没有下拉列表,没有数据库嵌入式查询,而且你提到的方式明显更快