1

3層アーキテクチャを使用してasp.netでプロジェクトを実行しています。さまざまな試行錯誤を使用して、ドロップダウンリスト内のテーブルの列内の値を正常にバインドしました。

私が今立ち往生しているのは、pageloadイベント中に、テーブルで使用可能なドロップダウンボックス内の値を取得することです。しかし、本当の問題は、ドロップダウンリスト内の最初の値を「選択」または「いずれかを選択」として取得する必要があることです。私はこれを行うことができません。

これが私のコードです

        DataTable datatable = new DataTable();
       _bl = new HomeFileUploadBL();
        voo = _bl.SelectNameOfDocument();
        datatable = voo.DocumentName;
        ddlDocument.DataSource = datatable;
        ddlDocument.DataTextField = datatable.Columns["Name"].ToString();
        ddlDocument.DataValueField = datatable.Columns["Name"].ToString();
        ddlDocument.DataBind();

表記は次のとおりです。ddlDocumentはDropDownListを参照し、datatableはDataTableを参照し、_blはビジネスクラスのオブジェクトを参照し、voo.Documentは値オブジェクトクラスを参照し、DocumentはDataTableタイプです。

ページが読み込まれるとすぐに、テーブルの最初の値がドロップダウンリスト内で利用可能になります。

また、ドロップダウンリストをクリックすると、最初の値は「選択」または「いずれかを選択」になります。

本当に明らかなことはありません。?

4

3 に答える 3

1

こんにちは、このようなものを試してください...

DataRow dtRow = null;  if (ddlDocument.Rows.Count > 0)
    {
        dtRow = ddlDocument.NewRow();
        dtRow[0] = 0;
        dtRow[1] = "Select All";
        ddlDocument.Rows.InsertAt(dtRow, 0);
        ddlDocument.AcceptChanges();

    }
于 2012-07-18T07:43:00.177 に答える
1

はい、selectを追加できませんでした。ドロップダウンをバインドした後に手動で実行できることは、次のようになります。コードを変更しました。これを試してみてください。

DataTable datatable = new DataTable();
    _bl = new HomeFileUploadBL();
    voo = _bl.SelectNameOfDocument();
    datatable = voo.DocumentName;
    ddlDocument.DataSource = datatable;
    ddlDocument.DataTextField = datatable.Columns["Name"].ToString();
    ddlDocument.DataValueField = datatable.Columns["Name"].ToString();
    ddlDocument.DataBind();
    ddlDocument.Items.Insert(0, new ListItem("Select", "0"));
于 2012-07-18T07:43:02.990 に答える
1

DataBindの後にこれを追加します

ddlDocument.Items.Insert(0, new ListItem("Select", "0"));

また

ddlDocument.Items.Insert(0, new ListItem("Choose any one", "0"));
于 2012-07-18T07:43:37.910 に答える