【问题标题】:how to change code to retrieve particular column in datagridview?如何更改代码以检索 datagridview 中的特定列?
【发布时间】:2023-04-03 05:52:01
【问题描述】:

我在 datagridview 中有一个数据列表。例如,一列被命名为 Class(每一行都有不同的值,见下文),是否有可能有一个组合框,其中包含组合框中所有可能的记录 Class 值? *应该有 6A、6B、6C 的列表 如果稍后将更多类添加到数据库中(示例 6D),这些也应该在组合框中。*

datagridview的一个视图

Class              Name

6A                  Jane,14 May 1980;Mary,4 June 1980; 
6B                  leen, 31 May 1980; Peter 6 Jan 1980;
6C                  Eillen, 19 Aug 1980; Yvwon, 28 Mar 1980;
6D                  Evan, 24 Dec 1980; Ivan, 20 Nov 1980;

这是我找到的代码,但如何将其更改为我想要的?

var input = Convert.ToString(datagridview1.CurrentRow.Cells[0].Value);
var resultList = Regex.Matches(input, **@".*?,(.*?),.*?;")**
    .Cast<Match>()
    .Select(arg => arg.Groups[1].Value)
    .ToList();



// bind to a combobox
comboBox1.DataSource = resultList;

【问题讨论】:

  • 任何人都知道如何改变,我真的需要帮助!
  • 您能否检查 resultList 变量并让我们知道它是否获得了正确的值?

标签: c# winforms datagridview


【解决方案1】:

如果这是一个 Windows 窗体应用程序,那么您可以创建一个类,类似于

class Obj {
    public string Class { get; set; }
    public string Data { get; set; }
}

然后创建一个对象列表:

var list = new List<Obj>();
list.Add(new Obj() { Class = "6A", Data = "Jane,14 May 1980;Mary,4 June 1980;" });
// continue adding to the list here

然后

comboBox1.DataSource = list;
comboBox1.DisplayMember = "Class";

最后将您的comboBox1.SelectedIndexChanged 挂接到一个事件并抓取comboBox1.SelectedItem,将其投射到 Obj 上就可以了。

【讨论】:

  • 但我没有使用硬编码,我有一个数据源,我将如何与您的代码合并?
  • @cutexxxpies:您将使用您用于查询的任何方法(例如从数据源)替换硬编码列表元素的代码。您最初的问题不清楚这就是问题所在。您可能需要在原始问题中明确指出 2 个问题。
  • @IAstract ,基本上我有一个数据库绑定到 datagridview 这就像我在问题中显示的那样,但是,我希望该类显示在组合框中,但不是以硬编码的方式,好像添加了更多的类,组合框会自动更新以获得,那么现在的问题是 Sergei Z 给出的代码我将如何更改它,关于你你所说的可以告诉我
  • @cutexxxpies:每当您将数据库“绑定”到 datagridview 时,为什么不将组合框也绑定到那里呢?此时唯一要做的就是将comboBox1.DisplayMember 设置为数据源中的正确字段。
  • @Sergei Z 可以告诉我你的意思吗?因为我从来没有尝试在绑定组合框之前使用...所以你的意思是这个 comboBox1.DisplayMember = "Class"; //你在这里声明的这个类是数据库字段名??
猜你喜欢
  • 1970-01-01
  • 2019-07-19
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多