我对网格视图所做的是..根据ma数据库我已经在数据表中添加了列,之后我将它绑定到gridview。,
这是代码,
///在此处获取活动以绑定到GridView以获取第一列的活动。
Dt = BlObj.BlDynamic_Table("[USP_DynamicGridView]", 2);
DtOperation = BlObj.BlDynamic_Table("[USP_DynamicGridView]", 1);
for (int i = 0; i < DtOperation.Rows.Count; i++)
{
Dt.Columns.Add(DtOperation.Rows[i][0].ToString());
}
dgrDynamic.DataSource = Dt;
dgrDynamic.DataBind();
但对我来说需要的是获取列索引..这里是代码
private int GetColumnIndexByName(int p)
{
return ((int)GetColumnName(BlObj.BlDynamic_Table("[USP_DynamicGridView]",
4, p).ToString()));
}
private int GetColumnName(string name)
{
foreach (DataColumn col in dgrDynamic.Columns)
{
int Index = 0;
if(col.Equals(name.ToLower().Trim()))
// if (col.Name.ToLower().Trim() == name.ToLower().Trim())
{
return Index;
}
Index += 1;
}
return -1;
}
问题是foreach循环不起作用..
我对.NET更新鲜,我也不知道我是否采用了正确的方式..有人可以帮助我吗?
提前致谢。
答案 0 :(得分:0)
以下是我的表现:
private int GetColumnIndex(GridView gv, string columnName, int columnCount)
{
for (int i = 0; i < gv.Columns.Count; i++)
if (gv.Columns[i].HeaderText == columnName)
return i - columnCount + 1;
throw new Exception("no such column '" + columnName + "'");
}
它适用于我的代码库。
答案 1 :(得分:0)
使用以下函数获取列索引:
private int GetColumnIndexByName(GridView grid, string name)
{
foreach (DataControlField col in grid.Columns)
{
if (col.HeaderText.ToLower().Trim() == name.ToLower().Trim())
{
return grid.Columns.IndexOf(col);
}
}
return -1;
}