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 时更改数据文本字段,以便不显示 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();

或者你可以使用DataViewRowFilter

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 回答