C#简单——多选框控件相关的神奇问题

他们真的很简单,但我怎么总是忘记啊QAQ
还是记下来吧,下次直接copy

点开后出现 有列名 列名有数据,有表 表里有数据但不显示的情况

解决:点击小三角-点击Design View-Columns-需要在这里对下拉列表里的内容进行对应配置。

  1. 在这里插入图片描述
  2. 在这里插入图片描述

多选框赋值了,但运行时显示空白。点开后才有值?

ValueMember和EditValue的格式要匹配,规章制度,必须完全吻合!!!

类型为varchar(50) ProductNo的值是123-qwe,类型为nvarchar(50) ProductName的值是12345,nvarchar是包含varchar的,塞进去的也是两个类型都能读的格式,那为什么还会出现无法赋值的情况

我理解你的困惑。事实上,nvarcharvarchar在数据库中都用于存储字符串,其中nvarchar用于存储Unicode字符串(可以包含任何字符,包括中文、阿拉伯文等),而varchar则通常用于存储非Unicode的字符集(例如仅限ASCII字符)。尽管nvarchar可以包含varchar的所有可能值,但这并不意味着在所有情况下nvarcharvarchar字段的值可以随意互换。

在你的例子中,当你说“无法赋值”,很可能你的意思是赋值操作没有达到预期的效果。这通常不是因为数据类型的问题,而是因为赋值的上下文问题。例如,在UI控件(比如你提到的SearchLookUpEdit)中,它期望的EditValue通常必须匹配指定的ValueMember字段。如果ValueMember设置为ProductNo,则这个控件期望的EditValue应该是一组ProductNo的值。如果你尝试将ProductName的值赋给EditValue,即使ProductName的类型是nvarchar并且理论上可以包含ProductNo的值,但从控件的角度,这仍然是不匹配的,因为它期望的是一个ProductNo的值。

让我们用一个简单的生活例子来形象化:

想象你的手机通讯录,其中每个联系人有一个姓名和一个电话号码。假设你有一个功能,要求你通过电话号码查找联系人,而不是姓名。电话号码在这里就像是ValueMember,它是查找联系人的关键。

如果你输入电话号码,手机能够找到并显示相关联系人的姓名。但是,如果你试图通过输入姓名来查找联系人,这个功能是不会工作的,因为它只能通过电话号码识别联系人,即使姓名字段也包含文本信息,且在技术上电话号码字段(假设是varchar类型)也能存储姓名(nvarchar类型)的值。

同样的道理适用于SearchLookUpEdit控件。Control需要ProductNo(类似于电话号码)作为识别的关键,即使ProductName(类似于姓名)的数据类型允许存储类似的值。控件根据其设计只接受和ValueMember匹配的EditValue进行显示和选择操作。

希望这个例子帮助你更清楚地理解为什么即便nvarchar包括varchar,在特定的UI控件和赋值上下文中,你仍然需要确保赋值是按照控件的逻辑和数据源配置来进行的。

varchar(50)和nvarchar(50)有什么区别?

ProductNovarchar(50) 类型,而 ProductNamenvarchar(50) 类型,这表明它们用来存储字符串,但具有不同的字符编码特性。

varcharnvarchar 的区别在于:

  1. 字符编码
    • varchar 代表 Variable Character,是非 Unicode 的可变长度字符数据类型。它用来存储非 Unicode 字符(即 ASCII 字符集),因此每个字符占用 1 个字节的空间。
    • nvarchar 代表 National Variable Character,是 Unicode 的可变长度字符数据类型。它用来存储 Unicode 字符(包括 ASCII 以及其他多字节字符集如汉字、日文等),因此每个字符通常占用 2 个字节的空间。

varchar和nvarchar都是用于存储字符数据的数据类型。
varchar 表示可变长度的非Unicode字符数据类型。这意味着varchar只能存储ASCII字符集(包括英文字符),并且在存储时占用较少的存储空间。因此,英文字符可以存储在varchar类型的字段中,并且可以被正确读取。
nvarchar 表示可变长度的Unicode字符数据类型。与varchar不同,nvarchar可以存储Unicode字符集中的字符,包括英文字符和其他语言的字符。因此,nvarchar类型可以存储各种语言的字符,并且可以被正确读取。
总的来说,英文字符可以被正确读取和存储在varchar和nvarchar类型的字段中,而nvarchar还可以存储其他语言的字符。

  1. 存储容量

    • varchar(50) 可以存储最多 50 个非 Unicode 字符。
    • nvarchar(50) 可以存储最多 50 个 Unicode 字符,但由于它使用双字节存储,所以实际上将占用最多 100 个字节的存储空间(如果全部是 Unicode 字符)。
  2. 应用场景

    • 如果数据列只包含英文字符和西欧字符集,则通常使用 varchar 就足够了。
    • 如果数据列可能包含多语言文本,例如中文、日文、阿拉伯文等,则必须使用 nvarchar 以支持这些字符集。

至于为什么使用 ProductName 设置 EditValue 时显示为空白,这和 varcharnvarchar 的区别不一定有直接关系。关键在于 SearchLookUpEdit 控件的 EditValue 应该匹配 ValueMember 指定的列的数据类型和值。如果 ValueMember 设置为 ProductNo,那么你应该提供一个相应的 ProductNo 字段的值给 EditValue,而不是 ProductName 字段的值。

如果确实存在字符编码的问题(比如 ProductNo 中含有特殊字符),则需要确保当你设置 EditValue 时提供的值在编码上与数据库中的值完全一致。在比对和赋值时,可能需要考虑编码转换的问题,特别是在涉及不同编码类型的数据迁移或数据导入时。


vs控件右上角的小三角叫什么

在Visual Studio中,控件右上角的小三角通常称为“快捷菜单”(Context Menu)或“上下文菜单”(Context Menu)。这个菜单提供了与该控件或编辑器上下文相关的操作选项。右击控件或编辑器的某个区域,就会弹出这个上下文菜单,让你可以快速执行一些常用的操作,而不必在菜单栏中查找相应的命令。这个功能有助于提高开发效率,特别是在复杂的集成开发环境中。


是DevExpress.XtraGrid.GridControl控件前面多了个格,可以进行勾选,我想知道怎么取消

在gc里无法取消,要在gv里取消
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-31 12:16:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-31 12:16:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-31 12:16:01       87 阅读
  4. Python语言-面向对象

    2024-03-31 12:16:01       96 阅读

热门阅读

  1. es与mysql同步问题

    2024-03-31 12:16:01       39 阅读
  2. Leetcode 3. 无重复字符的最长子串

    2024-03-31 12:16:01       41 阅读
  3. 带头双向循环链表的实现及注释教学

    2024-03-31 12:16:01       39 阅读
  4. 面试碰到的一些问题

    2024-03-31 12:16:01       34 阅读
  5. PHP - ZipArchive上传、下载实例

    2024-03-31 12:16:01       39 阅读
  6. HTML 中的 jQuery 事件处理与 Ajax 异步请求

    2024-03-31 12:16:01       37 阅读
  7. 【图像处理】-1.图像二值化

    2024-03-31 12:16:01       39 阅读
  8. Mysql 常用语句及用法记录

    2024-03-31 12:16:01       34 阅读
  9. 阿里云服务器初始化简记

    2024-03-31 12:16:01       30 阅读
  10. 微信小程序渲染有问题

    2024-03-31 12:16:01       40 阅读
  11. Python100个库分享第4个—difflib

    2024-03-31 12:16:01       41 阅读
  12. Golang基础-7

    2024-03-31 12:16:01       35 阅读
  13. C# serialPort

    2024-03-31 12:16:01       34 阅读
  14. Python 变量、数据类型、数据类型的转换介绍

    2024-03-31 12:16:01       37 阅读
  15. zookeeper--znode数据结构详解

    2024-03-31 12:16:01       39 阅读