在Asp.Net中选择GridView Row [英] Select GridView Row in Asp.Net
本文介绍了在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屋!
查看全文