if condition为数据绑定设置DataTextField

时间:2013-06-24 14:20:55

标签: c# data-binding

我正在尝试使用数据绑定选择性地显示某些文本。

代码看起来像这样..

        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();
        }

问题是第一个值显示为:选择(0)..所以我试图在“App_ID”= 0时更改datatextfield,以便不显示App_ID,但是在所有其他价值观中。

1 个答案:

答案 0 :(得分: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";
}