我在将字符串数组分配到Datarow时遇到问题.首先,我已经为字符串数组创建了对象,并在数组中放置了2个值(整个大小).应该在数组中放置多少个值取决于不同的值,但我没有在这里显示.
然后我尝试转换为DataRow.但它说."你调用的对象是空的"
DataRow dr = null;
string[] strconcat = new string[100];
dr["concat"] = strconcat[i];
Run Code Online (Sandbox Code Playgroud)
提前致谢
编辑 - 实际上我正在尝试将这些字符串数组值放入下拉列表(ddchooseadeal).除此之外还有其他好办法吗?
locname = ddchoosealoc.SelectedValue.ToString();
string[] strdeals = new string[100];
string[] strconcat = new string[100];
int i;
for(i =0; i< dsdeal.Tables[0].Rows.Count; i++)
{
strdeals[i] = Convert.ToString( dsdeal.Tables[0].Rows[i]["Title"]);
strconcat[i] = strdeals[i]+" -- "+ locname;
}
DataRow dr = null;
ddchooseadeal.Items.Clear();
ListItem li = new ListItem("Choose a Deal");
ddchooseadeal.Items.Add(li);
dr["drconcat"] = strconcat[0];
ListItem item = new ListItem();
item.Text = NullHandler.NullHandlerForString(strconcat[i], string.Empty);
ddchoosealoc.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)
Tal*_*ner 10
您的DataRow不是任何实际上正确的DataTable的一部分,这就是您无法实例化直接DataRow对象的原因.
这就是解决问题的理论部分
// Declare a DataTable object.
DataTable dt = new DataTable();
// Add some columns to the DataTable
dt.Columns.Add("StringHolder");
// Now suppose , you are having 10 items in your string array
foreach(string str in strArray)
{
DataRow drow = dt.NewRow() ; // Here you will get an actual instance of a DataRow
drow ["StringHolder"] = str; // Assign values
dt.Rows.Add(drow); // Don't forget to add the row to the DataTable.
}
Run Code Online (Sandbox Code Playgroud)
因此,通过执行上述步骤,您将获得一个填充了行的DataTable.
| 归档时间: |
|
| 查看次数: |
21378 次 |
| 最近记录: |