相关疑难解决方法(0)

数据绑定动态数据

我有一组"动态数据",我需要绑定到GridControl.到目前为止,我一直在使用标准的DataTable类,它是System.Data命名空间的一部分.这工作得很好,但我被告知我不能使用它,因为它对于客户端和服务器之间的网络序列化太重了.

所以我认为我可以通过简单地使用List<Dictionary<string, object>>List表示行集合的类型来轻松复制DataTable类的"简化"版本,并且每个Dictionary表示一行,其中列名称和值为KeyValuePair类型.我可以设置Grid以使列DataField属性与Dictionary中的键匹配(就像我为DataTable的列名所做的那样).

但是做完之后

gridControl.DataSource = table;
gridControl.RefreshDataSource();
Run Code Online (Sandbox Code Playgroud)

网格没有数据......

我想我需要实施IEnumerator- 对此的任何帮助都将不胜感激!

示例调用代码如下所示:

var table = new List<Dictionary<string,object>>();

var row = new Dictionary<string, object>
{
    {"Field1", "Data1"},
    {"Field2", "Data2"},
    {"Field3", "Data3"}
};

table.Add(row);

gridControl1.DataSource = table;
gridControl1.RefreshDataSource();
Run Code Online (Sandbox Code Playgroud)

c# data-binding winforms

28
推荐指数
1
解决办法
2万
查看次数

如何在C#中为类动态添加字段?

有没有办法在运行时添加Field(或者FieldInfo,可能是相同的)类?

c# reflection

23
推荐指数
3
解决办法
3万
查看次数

创建类似ASP.NET MVC 3 ViewBag的类?

我有一种情况,我想做一些类似于ASP.NET MVC 3 ViewBag对象的内容,其中属性是在运行时创建的?还是在编译时?

无论如何,我想知道如何用这种行为创建一个对象?

c# dynamic .net-4.0 asp.net-4.0 viewbag

17
推荐指数
4
解决办法
6963
查看次数

将属性添加到动态对象.NET

我可能想要太多,但我的情景是

public dynamic CreateConfigObject(JobConfigurationModel config) {
    dynamic configObject = new { };

    configObject.Git = new GitCheckout {
        Repository = config.Github.Url
    };

    return configObject;
}
Run Code Online (Sandbox Code Playgroud)

当然,它失败了,configObject.Git因为这个属性不存在.我希望能够在运行时添加任意数量的属性,而不需要预先知道属性的数量和名称;

这种情况在C#中是否可能,或者我的JavaScript想象力开始伤害我?:)

.net c# dynamic

16
推荐指数
1
解决办法
9718
查看次数

向属性动态添加属性

在我的课上,我有像这样的私有变量和属性.

private string _itemCOde=string.Empty;
private string  _itemName=string.Empty;

public string ItemCode
{
    get { return _itemCode; }
    set { _itemCode = value == null ? value : value.Trim();}
}

public string ItemName
{
    get { return _itemName; }
    set { _itemName = value == null ? value : value.Trim();}
}
Run Code Online (Sandbox Code Playgroud)

根据这个属性,我在从sql表中选择数据后创建Item对象.

现在,如果数据库表被更改并添加一个名为cost的新列,那么我必须向该类添加另一个属性.在不向类添加新属性的情况下,可以根据表字段动态声明属性.

c#

13
推荐指数
1
解决办法
4万
查看次数

以编程方式生成属性

我想加载一个属性文件(它是一个.csv文件,每行都有一个名称和相关的数值),然后访问这些属性值,如下所示:FileLoader.PropertyOneFileLoader.PropertyTwo.问题是我不想为每个值写一个属性,我希望它们是从文件生成的.所以

public class FileLoader
{
    public int Property1 { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

不是我想要的.这可能吗?我看不到任何方法,因为显然编译器不会知道属性名称.也许类似的东西?

c# properties

10
推荐指数
1
解决办法
1万
查看次数

如果值是对象并且这些对象的属性是键,那么是否有比Dictionary更好的数据结构?

我有一个Dictionary<int, object>int是的属性obj.有没有更好的数据结构?我觉得使用属性是关键是多余的.

Dictionary<int, obj>是容器类中的一个字段,允许obj根据intid号随机索引值.容器类中的简化(无异常处理)索引器如下所示:

obj this[int id]
{
     get{ return this.myDictionary[id];}
}
Run Code Online (Sandbox Code Playgroud)

myDictionary前面Dictionary<int, obj>拿着物体在哪里.

这可能是快速随机访问的典型方式,但我想获得第二意见.

c# idictionary

7
推荐指数
2
解决办法
1927
查看次数

C#中的动态类创建

是否有可能在运行时从DataTable创建一个类,其中ColumnName将是动态类属性?

c# class dynamic

5
推荐指数
1
解决办法
1万
查看次数

使用C#Linq Lambda将两个对象中的字段组合为一个,最好没有匿名对象

我有这样的课程设置:

 public class Summary
{
    public Geometry geometry { get; set; }
    public SummaryAttributes attributes { get; set; }
}
public class SummaryAttributes
{
    public int SERIAL_NO { get; set; }
    public string District { get; set; }
 }
public class Geometry
{
    public List<List<List<double>>> paths { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我为该对象获取一个json记录字符串,并将其放入其中,如下所示:

List<Summary> oFeatures = reportObject.layers[0].features.ToObject<List<Summary>>();
Run Code Online (Sandbox Code Playgroud)

我的最终目标是创建一个csv文件,因此我需要一个平整的记录列表才能发送给我拥有的csv编写器。我可以做这个:

 List<SummaryAttributes> oAtts = oFeatures.Select(x => x.attributes).ToList();
Run Code Online (Sandbox Code Playgroud)

我得到了一个不错的属性列表,并将其发送到csv。十分简单。

我想要的还是从Geometry对象中提取一个字段,并将其包含在我的最终List中以转到csv。所以最终名单要到CSV作家将包含对象的所有从SummaryAttributes字段几何对象上的第一个和最后双重价值从路径字段(路径[0] [0] [首页]和路径[0] [0] [最后]

很难解释。我想将两个额外的属性嫁接到原始的SummaryAttributes对象上。如果需要的话,可以用两个额外的字段创建一个新的SummaryAttributesXY类。但是,我试图避免创建一个新的匿名对象,并且必须对SummaryAttributes类中的每个字段进行定界,因为该示例中列出的内容比我要列举的更多。

有什么建议么?

c# linq lambda

5
推荐指数
1
解决办法
514
查看次数

C# - 具有可绑定属性的动态数量的类

我有X个RadioButtons(Silverlight).通常这个值在2-5之间.称之为"开关".每个单选按钮都绑定到该类的属性.

示例属性看起来像

private bool _radio1;
public bool Radio1{
 set{
  _radio1 = value;
  _radioX = !value; // make all others false
 }
 get{ return _radio1 }
}
Run Code Online (Sandbox Code Playgroud)

基本思想是,如果选择一个无线电,则关闭所有其他无线电.

我尝试过使用其他方法,与使用模板创建列表相比,这个方法似乎最简单(特别是在某些情况下我有其他按钮涉及无线电)

目前我有两个要求,我需要一个具有2个属性的类(例如,男性/女性)复选框和3个属性.

未来可能会有更多,因此为什么我认为为X量的单选按钮编写一个新类是愚蠢的.

有没有以某种方式使多个属性动态?我看到了一些字典方法.

我看到了这种方法 如何在C#中创建动态属性?

我不知道如何绑定它.

c# data-binding silverlight binding

2
推荐指数
1
解决办法
809
查看次数

C#:动态添加字段到类

我搜索谷歌但结果却是误会.
这是一个代码流程:

public class Store
{
     public dynamic GetList(List<string> propertyFields)
     {
          // Body here
          // for in list propertyFields. Such as: ["Code", "Name", "Address", ...]
          // dynamic result = ...
          // result.Code = "value", result.Name = "abc", result.Address = "homeless", result.... = "..."
          // return result
     }
}
Run Code Online (Sandbox Code Playgroud)

方法返回一个动态对象.
propertyFields是字段名称列表.当我在列表中传递4个字符串时,dynamic有4个属性字段值(稍后).
当我调用这个方法时:

Store store = new Store(); 
var rs = store.GetList(["Code","Name","Address"])
Console.WriteLine(rs[0].Code)
Run Code Online (Sandbox Code Playgroud)

这是我的观点.
我的问题:是否有可能在C#中做到这一点?

c# dynamic

2
推荐指数
1
解决办法
6001
查看次数