1

使用:ASP.NET 4、SQL 2008、C#

私は、特別なプロジェクトユーザーを追跡するために、プロジェクトチーム用のWebアプリを作成しています。彼らが求めていることの1つは、頻繁に使用するデータのクイックリストをエクスポートすることです。たとえば、ここで私がやろうとしているのは、SQLDBに保存されているさまざまな電子メールアドレスをすべてTextBoxに入力するボタンをチームに提供することです。

私がやろうとしているのは、TextBoxをDBの特定の列にバインドすることです。私はすでにDBに接続しており、その特定の列をクエリするDataSetを構築しましたが、正常に機能します。

私の質問は、DataSetからのデータを使用してテキストボックスにデータを入力するようにASP.NETに指示するにはどうすればよいですか?これまでに使用しているコードは次のとおりです。

protected void btnGetNPMEmailAddresses_Click(object sender, EventArgs e)
    {
    txbResults.Text = "";
    txbResults.DataBind(ObjectDataSource_Designee_EmailAddresses) // ??? My DataSet
    }

私は間違いなくC#の学習曲線を上っています。どんな助けでも大歓迎です!

ありがとう、ポールD。

4

4 に答える 4

0

ASP.Netのテキストボックスにデータバインドすることはできません。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox_properties

DataSourceプロパティはありません。データセットの内容を手動で確認して取得し、テキストボックスに入れることはできますが、バインドすることはできません。テキストボックスのことですか?

于 2012-05-15T19:53:35.753 に答える
0

データベースから1つの行と列のみを返すと仮定すると、次のようなことができます。

txbResults.Text = dataSet.Tables[0].Rows[0].Cols[0].ToString();

私の提案は、DataAdapter / Datasetを使用する代わりに、1つの値のみを返す「ExecuteScalar()」メソッドを使用することです。

お役に立てれば!!

于 2012-05-15T19:54:04.703 に答える
0

私は言うだろう

 foreach(DataRow dr in DataTable)
  {
    Textbox.Text = Textbox.Text + dr;
  }

何らかの理由でテキストボックスを使用する必要がある場合

于 2012-05-15T19:56:18.057 に答える
0

次のようなものを試してください。

protected void btnGetNPMEmailAddresses_Click(object sender, EventArgs e)
{
    // TODO:: Populate ObjectDataSource_Designee
    DataSet dataSet = GetDS(ObjectDataSource_Designee);

    string emails = string.Empty;
    for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
    {
        emails = emails + dataSet.Tables[0].Rows[i]["EmailAddresses"].ToString() + Environment.NewLine;
    }
    txbResults.Text = emails;
}

private DataSet GetDS(ObjectDataSource ods)
{
    var ds = new DataSet();
    var dv = (DataView)ods.Select();
    if (dv != null && dv.Count > 0)
    {
        var dt = dv.ToTable();
        ds.Tables.Add(dt);
    }
    return ds;
}
于 2012-05-15T20:03:39.957 に答える