0

小さなAsp.net c#プロジェクトを作成する以外は、すべてが初めてです。

データをデータベーステーブルに渡すフォームと、そのデータグリッドの行を編集する必要がある場合に再入力する簡単な概要データグリッドがあります。
フォームのドロップダウン リストでテストする別の優先度 DB テーブル/リストを作成しました。値は L、VL、M、H、VH のみで、削除は追加されませんでした。リストをドロップダウン ボックスにプルして、5 つの値をすべて表示できますが、リストは巨大で、さらに 45 個の空の項目が含まれています。


ddl_priority.DataTextField = "ID"; を変更した場合 上から下へのリストは 1 から 45 を示し、その後 1,2,3,4,5 が私の値であり、「SQL Where」で値を制限しようとしましたが、機能し
ませんでした ドロップダウンリストの私のコードは;

public void Populate_priority_dropdownlist()
{
    ad = new SqlDataAdapter("select * FROM x_priority_list_tbl", con);
    //ad = new SqlDataAdapter("select [Priority] FROM [x_priority_list_tbl] where [ID] < 7 ", con);
    ad.Fill(ds, "s");
    dt = ds.Tables["s"];
    ddl_priority.DataSource = dt;

    ddl_priority.DataValueField = "Priority";
    ddl_priority.DataTextField = "Priority";
    ddl_priority.DataBind();
}

どこかに何らかの設定があるはずですか?

4

1 に答える 1

1

nullPriority (または PriorityName ?) 列の値としていくつかのテーブル エントリがあると思います。おそらく、それを修正する必要があります。選択クエリに where 条件をいつでも追加して、有効な PriorityName 値を持つレコードのみを表示することができます。

ad = new SqlDataAdapter("select * FROM x_priority_list_tbl
              WHERE PriorityName is not null and PriorityName<>''", con);

DataValueFieldまた、プロパティ値として ID を設定PriorityNameし、テキスト フィールドとして設定します。

ddl_priority.DataValueField = "ID";
ddl_priority.DataTextField = "PriorityName";

IDテーブルに nameとの列があると仮定しますPriorityName。列名が異なる場合は、コードでそれに応じて変更できます。

于 2012-06-26T21:02:46.030 に答える