从字符串数组移动到datarow

Ram*_*Ram 4 c# asp.net

我在将字符串数组分配到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.