Вот сделка. У меня есть сценарий Master-Detail Grid. Мастер GridView загружается при загрузке страницы. Я использую DataView того же DataTable, который загружает мастер для загрузки Detail GridView, фильтруя то, что мне нужно показать в DetailGridView. Все работает нормально, когда я просматриваю первую строку MasterGridView. Когда я пытаюсь просмотреть вторую строку, я не вижу столбец ошибки [число]. Я также замечаю, что переменная «таблица» - это ничто.
public partial class Gridview_Template : System.Web.UI.Page
{
DataTable table = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
SqlDataReader reader = DBSqlHelperFactory.ExecuteReader(
myconnection,
"crm_getcustomersummary",
new SqlParameter("@customerid", "99999")
);
table.Load(reader);
MasterGridView.DataSource = table;
MasterGridView.DataBind();
}
protected void detailGrid_DataSelect(object sender, EventArgs e)
{
string searchValue ="number=" + values.ToString();
DataView dv = new DataView(
table, searchValue, "number", DataViewRowState.OriginalRows
);
DetailGridView.DataSource = dv;
// ...
}
}
Должен ли я поместить переменную "table" в состояние сеанса, чтобы она существовала во время вызова?