日期:2014-05-18  浏览次数:20430 次

如何判断和区分gridview模版列
在gridview中有多个模版列,其中用两个LinkButton列,点击不同的LinkButton列实现不同操作,在SelectedIndexChanged中如何判断是点的不同的列,也就是如何取ID值?

------解决方案--------------------
有个datakeysname属性,你设成绑定时的id后,那么你点击某一列就可以取得此id。如果你只是想取得索引。那么你可以真接通过e的参数去取得。

-------------------------------------------
MSN:bdbox@hotmail.com
请给我与您交流的机会
------解决方案--------------------
commandname= "按钮名 " 再通过e.commandname来区分
------解决方案--------------------
给每个LinkButton一个CommandName,然后通过e.CommandName进行区分
------解决方案--------------------
换ButtonFiled吧 视觉效果是一样的
然后设置CommandName区分
------解决方案--------------------
commandname= "按钮名 " 再通过e.commandname来区分
------解决方案--------------------
根据孟子老大的一句经典回复:CommandArgument= ' <%#DataBinder.Eval(Container, "RowIndex ")%> ',我推断,是不是这样,先把行号绑定给模版列上按钮的CommandArgument属性,然后把模版列上按钮的onclick事件选择到一个写好的onclick事件上,再根据e.CommandName和CommandArgument进行相关操作。

事件不会出发GridView的ItemCommand,估计得自己写。

------解决方案--------------------
CommandName= "a "

CommandName= "b "

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int nIdx = EConvert.ToInt(e.CommandArgument.ToString());

GridViewRow row = this.GridView1.Rows[nIdx];

string strFID = row.Cells[0].Text;
try
{
switch (e.CommandName)
{
case "a ":
...
break;
case "b ":
...
break;
}
}
catch (Exception ex)
{
EScript.PopEx(this, "GridView1_RowCommand ", "数据处理时出错:\\n " + ex.Message);
}
}