网格视图检查值是否存在?

时间:2015-05-23 05:06:17

标签: c# asp.net

我有一个下拉列表“ddlMitchelLandscape2”,当添加按钮触发器时,我将所选的项目值添加到gridview中。

我被困在这里,如何在将值添加到网格视图之前检查gridview。当触发添加按钮时,所选项目已存在于网格视图中。

有人帮我查看gridview中存在的值,然后将它添加到gird视图中吗?

  protected void btnAddMitchellLandscape_Click(object sender, EventArgs e)
    {
        //validate to make sure Mitchell Landscape is entered
        if (!ValidateMitchellPage())
            return;


        Assessment objAssessment = (Assessment)Session[Session_CurrentAssessment];
        if (ddlMitchelLandscape2.GetSelectedItemValue > 0)
        {
            if (lblMitchellID.Text == string.Empty)
            {
                //add
                AssessmentEntity objAssessmentEntity = new AssessmentEntity();
                Assessment.tblMitchellLandscapeIDRow row =
                    objAssessment.tblMitchellLandscapeID.NewtblMitchellLandscapeIDRow();
                row.MitchellLandscapeID = ddlMitchelLandscape2.GetSelectedItemValue;
                row.MitchellLandscapeName = ddlMitchelLandscape2.GetSelectedItemText;

            }
            else
            {
                //Add button not visible when its not a new row
                ctrlHeader.ShowError("Error: Unknown error");
                return;
            }
            //refresh data bound table
            PopulateMitchellDetailsToForm(ref objAssessment);
            //clear after save
            btnClearMitchellLandscape_Click(null, null);
        }
    }

ValidateMitchellPage()

  private bool ValidateMitchellPage()
    {
        litMitchellError.Text = string.Empty;
        if (ddlMitchelLandscape2.GetSelectedItemValue <= 0)
            litMitchellError.Text = "Please select Mitchell Landscape";

        if (litMitchellError.Text.Trim() == string.Empty)
        {
            litMitchellError.Visible = false;
            return true;
        }
        litMitchellError.Visible = true;
        return false;
    }

DataBind到网格视图

        private void PopulateMitchellDetailsToForm(ref Assessment objAssessment)
    {
        Assessment.tblMitchellLandscapeIDRow[] MlData
            = (Assessment.tblMitchellLandscapeIDRow[])objAssessment.tblMitchellLandscapeID.Select("SaveType <> " + Convert.ToString((int)EnumCollection.SaveType.RemoveOnly));
        this.gvMitchellLandscape.DataSource = MlData;
        this.gvMitchellLandscape.DataBind();
    }

1 个答案:

答案 0 :(得分:2)

您必须通过检查每一行从gridview中的下拉列表或组合框检查所选值。

您可以使用以下代码获取gridview行。

bool isValueExist=False;
for (int i = 0; i < gridview.Rows.Count; i++)
{
    String val = gridview.Rows[i].Cells[0].Value.ToString();
    if(val == your_drop_down_value)
    {
         isValueExist=True;
         break;
    }
}

您必须根据gridview设计更改单元格编号。