在Asp.Net中选择GridView Row [英] Select GridView Row in Asp.Net

查看:71
本文介绍了在Asp.Net中选择GridView Row的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码

HTML CODE>>

My Code
HTML CODE >>

<asp:GridView ID="dgv1" runat="Server" AutoGenerateColumns="false"

          CssClass="mGrid" Height="50px" Width="20px" OnSelectedIndexChanged="OnSelectedIndexChanged"  >
            <Columns>
    <asp:CommandField ShowSelectButton  =  "True"  />
  </Columns>
  <SelectedRowStyle BackColor  =  "#FFCC66" Font-Bold  =  "True"    ForeColor  =  "#663399" />

          </asp:GridView>



C#编码




C# Coding

 public static DataTable GetDataTable(string sql)
        {
            using (DataSet ds = new DataSet())
            {
                DataTable dt = new DataTable();
                ds.Tables.Add(dt);
                string str = ConfigurationManager.ConnectionStrings["ConnMCD"].ToString();
                SqlConnection conn = new SqlConnection(str);
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = sql;
                cmd.CommandType = CommandType.Text;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
dgv1.DataSource = dt;
dgv1.DataBind();
            }
        }



使用此代码的网格中的绑定字段




Bound field in Grid with This Code

if (!this.IsPostBack)
           {
               if (option1 != "")
               { }
               BoundField afield = new BoundField();
               afield.HeaderText = option1.ToString();
               afield.DataField = option1.ToString();
               dgv1.Columns.Add(afield);

               BoundField bfield = new BoundField();
               bfield.HeaderText = option2.ToString();
               bfield.DataField = option2.ToString();
               dgv1.Columns.Add(bfield);

               BoundField cfield = new BoundField();
               cfield.HeaderText = option3.ToString();
               cfield.DataField = option3.ToString();
               dgv1.Columns.Add(cfield);

               BoundField dfield = new BoundField();
               dfield.HeaderText = option4.ToString();
               dfield.DataField = option4.ToString();
               dgv1.Columns.Add(dfield);

               BoundField efield = new BoundField();
               efield.HeaderText = option5.ToString();
               efield.DataField = option5.ToString();
               dgv1.Columns.Add(efield);

           }
           dgv1.DataSource = null;
           dgv1.DataSource = dv;
           dgv1.DataBind();
           dgv1.Visible = true;
           dgv1.CssClass = "mGrid";



       }






$ b当我选择行时$ bi想要

调用此事件






i want when i select row
call this event

protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
    int index = dgv1.SelectedRow.RowIndex;
    string name = dgv1.SelectedRow.Cells[0].Text;
    string country = dgv1.SelectedRow.Cells[1].Text;
    string message = "Row Index: " + index + "\\nName: " + name + "\\nCountry: " + country;
    ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('" + message + "');", true);
}







但点击GridView中的Select时事件不会触发

我该怎么办?




But event does not fire on click on Select in GridView
what shoud i do?

推荐答案

您好b $ b

只需用
$更改您的代码b $ b

Hi
Just change your code with

<asp:GridView ID="dgv1" runat="Server" AutoGenerateColumns="false"

          CssClass="mGrid" Height="50px" Width="20px" OnSelectedIndexChanged="dgv1_SelectedIndexChanged"  >
            <Columns>
    <asp:CommandField ShowSelectButton  =  "True"  />
  </Columns>
  <SelectedRowStyle BackColor  =  "#FFCC66" Font-Bold  =  "True"    ForeColor  =  "#663399" />

          </asp:GridView>


//in code behind
          protected void dgv1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //You code
        }


这篇关于在Asp.Net中选择GridView Row的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆