gridview 将 dropdownlist 绑定到 List>

2023-11-27

我的数据库中有许多表保存对键值对的引用:

电话号码类型:

  • 1 - Home
  • 2 - Work
  • 3 - 移动
  • 4 - Fax

etc

所以我有一个类型表,当它们在其他表中使用时,它们引用 int 值作为外键。当我把它们拉出来时,我一直将它们存储为keyvaluepair<int, string>使用它们的类中的项目。

当我需要获取它们的列表时,我想我只需创建它们的 List 而不是使用两种不同类型的数据类型来获取相同的数据。

当我使用 edittemplate 位时需要在网格视图中填充下拉列表时,我的问题就出现了。如果我使用数据源将其拉出,它将在文本中写入 [1 Home],而不是将 int 作为值并将 Home 作为要显示的文本。

我想我确实有一个由多个部分组成的问题。

One:

我是不是傻了?这是获取数据并存储它(键值对部分)的非常糟糕的方法吗?我应该将其全部存储在数据表中吗?我不喜欢把它全部放在数据表中。我有我的 DAL 到我的 BLL 并尝试将所有内容封装为对象或List<>是由对象组成的,而不是由表格组成的。大多数时候,这种方法效果很好。

Two:

如果我使用某个对象而不是数据表绑定到下拉列表的对象数据源,如何设置当前选定的值,而不是只选择列表中的第一项?

EDIT

正如下面指出的,我是个白痴,只需要设置 DataValueField 和 DataKeyField 。

要绑定下拉列表,我只需要做:

SelectedValue='<%# DataBinder.Eval(Container, "DataItem.PhoneType.Key") %>'

我没有立即看到它的原因是它没有出现在我的智能感知中,但是当我手动输入它时,它就起作用了。


使用 Dictionary 并将 DropDown DataValueField 设置为Key和 DataTextField 到Value.

    // A sample dictionary:
    var dictionary = new Dictionary<int, string>();
    dictionary.Add(1, "Home");
    dictionary.Add(2, "Work");
    dictionary.Add(3, "Mobile");
    dictionary.Add(4, "Fax");

    // Binding the dictionary to the DropDownList:
    dropDown.DataTextField = "Value";
    dropDown.DataValueField = "Key";
    dropDown.DataSource = dictionary;  //Dictionary<int, string>
    dropDown.DataBind();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gridview 将 dropdownlist 绑定到 List> 的相关文章

随机推荐

  • 检查包含特定字符串的数组列表的方法

    我有一个从数据库导入记录的 ArrayList 有没有什么方法可以检查 arrayList 是否包含我想要与另一个 api 列表匹配的 schname List
  • 什么是初始化块?

    我们可以将代码放入构造函数 方法或初始化块中 初始化块有什么用 是不是每个java程序都必须有它 首先 有两种类型初始化块 实例初始化块 and 静态初始化块 此代码应该说明它们的用法以及它们的执行顺序 public class Test
  • 为 Windows(64 位)编译 SQLite

    我有 MinGW 我想编译SQLite 合并源到 64 位 dll 中 我对这种编译相当陌生 到目前为止我的努力都以失败告终 我首先开始使用 autoconf 合并 并在 Linux 上使用配置和制作工具 但显然这永远不适用于 Window
  • GCC中无法除法的原因是什么

    我的情况很奇怪 每次我尝试编译我的arm项目 LPC2378 codesourcery arm none eabi gcc 4 5 1 时 我在链接时都会遇到相同的错误 media data Projects arm uart main c
  • Jenkins/Hudson SVN 问题

    我的 Jenkins 安装有一个 奇怪的 问题 这基本上导致 SVN 更新在备用基础上失败 堆栈跟踪显示两个问题 hudson util IOException2 revision check failed on my repo and C
  • std::vector::reserve 性能损失

    inline void add const DataStruct rhs using namespace boost assign vec reserve vec size 3 vec rhs a rhs b rhs c 上面的函数执行了大
  • 使用 sqlAlchemy 的存储过程

    如何使用 sqlAlchemy 调用 sql server 的存储过程 发动机和连接有一个execute 方法可以用于任意 sql 语句 会话也是如此 例如 results sess execute myproc param1 param2
  • WPF 数据网格:使用 ItemsSource 时操作无效。

    请参阅下面的 XAML 基本上我正在尝试创建一个分层数据网格
  • Cocoa API 文档下载

    是否可以下载所有 Cocoa API 文档 我必须很多次离线工作 有时一个疑虑会阻碍我所有的工作 Xcode 会自动为您执行此操作 除非您已禁用它 Your Documentation prefs pane should look some
  • Actionbar 顶部的 DrawerLayout

    使用抽屉布局时 有没有办法将抽屉视图覆盖在操作栏上 我不想在显示抽屉时隐藏操作栏 我希望操作栏保持原状 但被发送到后台 iOS Play 音乐应用就是一个例子 我当前的实现是在抽屉状态更改时隐藏和显示操作栏 但我不喜欢这种用户体验 publ
  • Criteria API:按类类型过滤

    我对关系数据库相对陌生 并且在创建查询方面遇到一些问题 首先我想简单地解释一下情况 我有几个实体类 全部都延伸了AbstractEntity or EntityProperty 因此实体可以拥有属性 属性也可以拥有实体 因此存在双向关系 现
  • jQuery UI 对话框阻止 Google Chrome 中的窗口滚动条 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我在使用 jQuery UI 对话框时遇到问题 当我在 jQuery 对话框中打开照片时
  • 英特尔 Edison MRAA 模块不工作

    我最近下载了 Intel XDK IOT 版本并使用了 LED 引脚 13 闪烁示例 然后我将程序上传到爱迪生上 但它出现了一些错误 其中之一是找不到 MRAA 模块 附带的示例代码是 main js var mraa new requir
  • Clojure,合并两个地图数组

    我有两个地图数组 1st is a 1 b 2 d 6 a 2 b 2 a 7 b 7 2nd is a 3 c 3 e 9 y 7 a 2 b 6 c 8 取决于的值a即 如果它在第二个数组中匹配 则 第二个地图 应与 第一个地图 合并
  • 如果测试没有足够的 python 覆盖率,如何让 travis 失败

    如果我的测试没有足够的覆盖率 例如 通常我使用以下 travis 配置条目运行测试 script coverage run source mytestmodule setup py test 根据这个link 如果您添加 fail unde
  • iOS 12 上的 PWA 不再与 Safari 共享 Service Worker 缓存?

    对于 iOS 11 上的 PWA 我们通过将登录详细信息存储在 Service Worker Web 缓存中来解决在 Safari 中打开的外部第三方登录问题 这在 iOS 12 中不再有效 在撰写本文时处于测试版 我认为这肯定是因为 PW
  • 使用 JavaScript eval 解析 JSON

    问题 我正在使用 eval 解析来自我的 WebMethod 之一的 JSON 返回值 我不想添加jquery json 因为传输量已经相当大了 所以我用eval解析JSON返回值 现在有传言说这是不安全的 为什么 没有人可以修改 JSOn
  • ld:找不到 -lrt 的库

    我正在尝试运行一个为 Ubuntu 创建且适用于 Mac OS 的项目 当我执行 make 时 出现以下错误 ld library not found for lrt clang error linker command failed wi
  • 我可以在项目/解决方案级别设置 Option Explicit 和 Option Strict 吗?

    我真的很喜欢 VB NET 提供的编码速度 但我不喜欢忘记声明变量类型 函数返回类型等的可能性 这就是我在每个类中使用的原因 Option Explicit On Option Strict On 有没有办法在项目 解决方案级别定义这两个选
  • gridview 将 dropdownlist 绑定到 List>

    我的数据库中有许多表保存对键值对的引用 电话号码类型 1 Home 2 Work 3 移动 4 Fax etc 所以我有一个类型表 当它们在其他表中使用时 它们引用 int 值作为外键 当我把它们拉出来时 我一直将它们存储为keyvalue