Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用两个字符串值填充GridView_C#_Asp.net_Gridview - Fatal编程技术网

C# 如何使用两个字符串值填充GridView

C# 如何使用两个字符串值填充GridView,c#,asp.net,gridview,C#,Asp.net,Gridview,上面的代码给了我一个错误: strCollFinalized = ddlContent.SelectedValue + "," + CheckInCollection(Convert.ToInt64(ddlContent.SelectedItem.Value)); //returns two string values string[] strL = strCollFinalized.Split(','); gvData.DataSource = strL; gvData.DataBind();

上面的代码给了我一个错误:

strCollFinalized = ddlContent.SelectedValue + "," + CheckInCollection(Convert.ToInt64(ddlContent.SelectedItem.Value)); //returns two string values
string[] strL = strCollFinalized.Split(',');
gvData.DataSource = strL;
gvData.DataBind();

如何将第一个字符串填充到
Provider
列中,将第二个字符串填充到
Collection
列中。

当您说
Text='
时,您得到的是
模板字段的错误原因。因此,它在源代码中查找不存在的属性/列名
提供程序
,因此出现错误

如果您想将这个字符串集合作为gridview的源代码,那么将这些templatefield全部删除,然后您可能会说

DataBinding: 'System.String' does not contain a property with the name 'Provider'.

您是否将datagrid
自动生成列设置为false..?请尝试将列绑定到Container.DataItem,而不是-Text=是它当前设置为
false
它应该!(如果不是的话会很奇怪)啊,现在我明白了。当然,它将填充两行。如果您想看到两个具有不同值的列,作为一种可能的(也是最简单的)解决方案,您必须创建一个具有两个属性的对象,每个属性分别指定给数组中的项,然后将列绑定到属性。除了第一个值对两个列显示,第二个值对两个列都显示之外,它确实起作用columns@SiKni8,快速查看我刚才所做的编辑。将为您工作。然后我必须将自动生成列设置为true。对吧?没抓住你。你是说你的分手不起作用?无需将其转换为列表。只保留您的代码,因为我们现在正在创建数据表。@SiKni8,您可能不需要拆分。再次参见编辑。您可以直接指定值。
DataBinding: 'System.String' does not contain a property with the name 'Provider'.
List<string> strL = strCollFinalized.Split(',').ToList();
gvData.DataSource = strL;
gvData.DataBind();
DataTable dt = new DataTable();
DataColumn dc = new Datacolumn("Provider");
DataColumn dc1 = new Datacolumn("Collection");

dt.columns.Add(dc);
dt.columns.Add(dc1);

DataRow dr = dt.NewRow();
dr[dc] = ddlContent.SelectedValue;
dr[dc1] = CheckInCollection(Convert.ToInt64(ddlContent.SelectedItem.Value));

dt.Rows.Add(dr);
gvData.DataSource = dt;
gvData.DataBind();