【问题标题】:GridView Find a Row in Edit ModeGridView 在编辑模式下查找一行
【发布时间】:2011-03-01 11:04:40
【问题描述】:

我之前发布过类似的问题,但我仍然有一些问题。 我使用 asp.net 4 和 c#。

我有一个 GridView,我在 A) 中有一些逻辑来更改 GridView 中存在的每个标签的值(这部分代码正在工作)。 PS:我什至使用_RowDataBound(如果正确请告诉我)。

我需要还为进入编辑模式时的单行应用一些逻辑。

这是我的代码。仅当 EDIT MODE 中的 ROW 是 GridView 中的第一个时,它才有效。如果我输入编辑模式,例如第三行不起作用。

有什么想法吗??谢谢

    protected void uxManageSponsoredContentsDisplayer_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            switch (e.Row.RowType)
            {
                case DataControlRowType.DataRow:
                // A) - Some code here

                if (e.Row.RowState == DataControlRowState.Edit)
                {
                // Here some logic to apply only to ONE ROW!

                }
                break;
             }         
        }

【问题讨论】:

  • 如何知道要编辑哪一行?您始终可以使用 e.Row.RowIndex 来获取行号。
  • 谢谢,这是我的问题......我不知道如何使用e.Row.RowIndex......你能提供一个代码示例吗?非常感谢
  • 感谢我现在正在尝试,但我仍然有问题,你能更新一个带有行编辑的代码示例吗?谢谢
  • 告诉我我的回答对你有没有帮助。
  • 恐怕没有。最后我使用 RowDataBound 来解决问题。还是谢谢

标签: c# asp.net gridview


【解决方案1】:

我也有同样的问题。发生的情况是第二个、第四个等行处于备用状态,因此当您单击编辑时,它们会变为备用|编辑状态。您必须检查该行是否也具有备用|编辑状态。这里有一些可以帮助你的东西。对我来说工作得很好。

protected void uxManageSponsoredContentsDisplayer_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        switch (e.Row.RowType)
        {
            case DataControlRowType.DataRow:
            // A) - Some code here

            if (e.Row.RowState ==(DataControlRowState.Alternate|DataControlRowState.AlternateEdit) || e.Row.RowState == DataControlRowState.Edit )
            {
            // Here some logic to apply only to ONE ROW!

            }
            break;
         }         
    }

【讨论】:

    猜你喜欢
    • 2020-02-13
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    相关资源
    最近更新 更多