0

データバインドを使用して特定のテキストを選択的に表示するように設定しようとしています。

コードは次のようになります。

        DataTable oDt;
        oDt = Apps.GetAll();
        if (oDt.Rows.Count > 0)
        {
            oDt.Columns.Add("AppName_ID", typeof(string), "App_Name + ' (' + App_ID + ')'");
            CmbApps.DataSource = oDt;
            CmbApps.DataValueField = "App_ID";
            CmbApps.DataTextField = "AppName_ID";
            CmbApps.DataBind();
        }

問題は、最初の値が次のように表示されることです: Select (0).. そのため、"App_ID" = 0 の場合に datatextfield を変更して、App_ID が表示されないようにしようとしていますが、他のすべての値には含まれています。

4

1 に答える 1

0

構文についてはわかりませんが、以下に近いものになります。

DataTable dt2 = oDt.Select("(App_ID != 0)").CopyToDataTable();

使用するLinq-To-DataTable

DataTable tblFiltered = oDt.AsEnumerable()
          .Where(row => row.Field<String>("App_ID") == "1")
          .CopyToDataTable();

DataViewまたは、次を使用できますRowFilter

DataView dataView = oDt.DefaultView;
dataView.RowFilter = "App_ID <> 0";

アップデート

foreach (DataRow DRow in oDt.Rows)
{   
    if(DRow["app_id"].ToString().Equals("0"))
    DRow["AppName_ID"] = "Select";
}
于 2013-06-24T14:30:02.320 に答える