Как использовать скрытое граничное поле в GridView в ASP.NET?

StackOverflow https://stackoverflow.com/questions/4974530

  •  12-11-2019
  •  | 
  •  

Вопрос

Я связываю GRIDVIEW, используя DataSource в ASP.NET, и я хотел бы иметь несколько скрытых границ, поэтому я могу получить доступ к этим значениям в моей функции Rowdatabound.Однако, когда я устанавливаю видимый= «ложь» на этих границах, значения не устанавливаются и всегда пустые в функции ROWDATATATATABOUND.

Есть ли способ сделать это?Я видел некоторые предложения по установке стиля на границе, чтобы скрыть, но это тоже не работало для меня.В идеале я даже не хочу, чтобы колонна, созданная в GridView, я просто хочу, чтобы эти ценности были скрыты, поэтому я могу получить доступ к ним.Спасибо!

Это было полезно?

Решение

Have you tried using the DataItem from the GridViewRowEventArgs passed to your RowDataBound method?

Like:

protected void MyGridView_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRowView rowView = (DataRowView)e.Row.DataItem;
        // do something with rowView["myHiddenField"]
    }
}

Check MSDN here.

Другие советы

Odd, How are you doing it? I know I've done this before using:

<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("ColumnName")%>'/>

For this i will suggest you to use DataKey.

Pls refer this link http://www.codeproject.com/KB/grid/Data_presentation.aspx

eg:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"

DataKeyNames="emp_id,Code">

int EmployeeID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Values[0]);
  int DepartementID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Values[1]);

in DataRow bound:

((GridView)sender).DataKeys[e.Row.RowIndex].Value.ToString();

Geetha

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top