for(int i =0;i<count;i++)
{
if(this.dataGrid1.IsSelected(i))
{
int currentrow = i;
}
}

解决方案 »

  1.   

    DataGrid1_SelectedIndexChanged
    是在DataGrid翻页时触发的。
      

  2.   

    to nedvedlh(shirley) 
    DataGrid没有isSelected方法,webform中隐藏了winform中很多属性和方法to songhtao(三十年孤独)
    明白了,是不是在属性中没有勾选分页的话就无法使用这个这个方法?多谢两位继续顶
      

  3.   

    1.如果datagrid中只有绑定列,没有模版列,在鼠标点击时是不会有反应的
    如果不想添加模版列,可以通过导航按钮来获取行索引的。
    2.to songhtao(三十年孤独):不是翻页的吧,翻页应该是PageIndexChanges。
      

  4.   

    1:dg.CurrentRowIndex就是所选的行号了
      

  5.   

    一般情况,我们获取datagrid行索引的目的也只是为了获取此行中某一指定列的值,
    而datagrid有一个属性:DataKeyField(建议楼主查查msdn吧)
      

  6.   

    在web页面上想要获取选中的行,要借助前台的脚本实现的
    后台的这些方法都不行的
      

  7.   

    首先是选择:
      private void button1_Click(object sender, EventArgs e) 
       {         
         if(myDataGrid.IsSelected(0))
         {
            ///相关代码
         }
         else
         {
            ///相关代码
         }
       }其次:
      private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
      是在服务器两次传递中,更改时发生
      

  8.   

    http://authors.aspalliance.com/das/datagriddblclick.aspx
    参考吧,应该可以实现你的要求.功能:双击DataGrid,弹出当前行的值
      

  9.   

    用DataGrid的ItemDataBound事件啊!
    private void DataGrid1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    e.Item.Attributes.Add("onclick","javascript:ChangeRowColor(this)");//单击当前行时
    e.Item.Attributes.Add("ondblclick","javascript:getData(this,"+e.Item.Cells[0].Text+")");//e.Item.Cells[0].Text取当前行第一列的值(双击当前行时)
    }
    }客户端代码
    <script language="javascript">
    var oldRow="";
    function ChangeRowColor(rowObj)//改变当前DataGrid中所选行的颜色
    {
    if(oldRow=="")
    {
    oldRow=rowObj;
    oldRow.style.backgroundColor='white';
    rowObj.style.backgroundColor='#FEE6A7';
    }
    if(oldRow!=rowObj)
    {
    oldRow.style.backgroundColor='white';
    rowObj.style.backgroundColor='#FEE6A7';
    oldRow=rowObj;
    }
    }

    function getData(rowObj,ID)//打开新窗口
    {
    ChangeRowColor(rowObj);
    var getControl=window.showModalDialog("HepatitisCheckCardView_p.aspx",ID,"dialogWidth=800px;dialogHeight=300px");
    }
    </script>
      

  10.   

    to  working1997(haha) 
    看了,是vb的,有一点看不懂
    Dim lblSN As Label
    lblSN = CType(e.Item.FindControl("lblStoreName"), Label)
    Dim strArguments As String
    strArguments = "'" & lblSN.Text & "'"
    这个应该是从选中行中取值了
    我把他转化成C#语句
    Label4 = ((Label)e.Item.FindControl("lblStoreName"));
    string temp = Label4.Text;
    但是得不到我要的值
    to  magiccoder(JUST SO SO) 
    我使用这个方法
    e.Item.Cells[0].Text得到的值是最后一行的值,不能改变谢谢以上两位
      

  11.   


    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    e.Item.Attributes.Add("onclick","javascript:ChangeRowColor(this)");//单击当前行时
    e.Item.Attributes.Add("ondblclick","javascript:getData(this,e.Item.Cells[0].Text)");//e.Item.Cells[0].Text取当前行第一列的值(双击当前行时)
    Label4.Text = e.Item.Cells[0].Text; }
    }我需要在c#中得到这个变量的值,在label4中显示出来是测试用的
      

  12.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=19BE9FAC-437A-4863-910D-9427554561B2
      

  13.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459
      

  14.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    e.Item.Attributes.Add("onclick", "alert('您点击的是:\n\n第"  + e.Item.ItemIndex.ToString() + "行')");
    Label1.Text = e.Item.ItemIndex.ToString(); }
    }我想是不是在我访问e.Item.ItemIndex.ToString();的时候已经是最后的了,那么我可以在e.Item.Attributes.Add里得到这一行的变量值吗?
    我现在需要得到这一行的索引或者随便哪一个值
      

  15.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=19BE9FAC-437A-4863-910D-9427554561B2