datagridview в asp.net получить значение - PullRequest
1 голос
/ 17 декабря 2010
i am working on visual stdio 2008 and my database is in sql server 2005 
MY table has three columns 
1. SenderName 
2. RecieverName
3. Message

i have displayed this table in GridView and add a button named as Reply 
so my grid view look's some what like this 

SenderName|RecieverName| MessAge|REPLY BUTTON

now this what i want to do 
when Button is Clicked in My gridView i need to get data of that specific row 
i.e Sender's NAme so that i can Reply him/her ?

can any one help????

Ответы [ 3 ]

2 голосов
/ 17 декабря 2010

Вот пример:

Разметка:

<asp:GridView 
    runat="server" 
    ID="gvEmails" 
    OnSelectedIndexChanged="gvEmails_SelectedIndexChanged">            
    <Columns>
        <asp:ButtonField CommandName="Select" ButtonType="Button" Text="Send" />
    </Columns>
</asp:GridView>

Код-позади:

protected void Page_Load(object sender, EventArgs e)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("SenderName");
    dt.Columns.Add("ReceiverName");
    dt.Columns.Add("Message");

    DataRow dr;

    dr = dt.NewRow();
    dr["SenderName"] = "John Doe";
    dr["ReceiverName"] = "Jane Doe";
    dr["Message"] = "Hi, Jane.";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr["SenderName"] = "Michelle Smith";
    dr["ReceiverName"] = "Mike Smith";
    dr["Message"] = "Yo, Mike.";
    dt.Rows.Add(dr);

    gvEmails.DataSource = dt;
    gvEmails.DataBind();
}

protected void gvEmails_SelectedIndexChanged(object sender, EventArgs e)
{
    GridViewRow row = gvEmails.SelectedRow;

    Response.Write("Send email to " + row.Cells[1].Text);
}
1 голос
/ 17 декабря 2010

есть выбранная функция изменения индекса в свойствах.

Захватывает выбранный индекс и получает значение ячейки этого выбранного индекса.

Затем продолжайте, куда хотите.

0 голосов
/ 17 декабря 2010

Есть много разных способов сделать это.Самым простым, если вам нужно только одно значение, было бы связать значение с CommandArgument вашей кнопки Ответить.Затем добавьте обработчик OnClick к вашей кнопке.Затем в методе OnClick вы можете получить имя из CommandArgument.

Если вам нужно более одного значения из строки, вам нужно будет проделать немного больше работы.Вы можете настроить обработчик событий в GridView для захвата события изменения индекса .Это обеспечит некоторые аргументы события, которые имеют NewSelectedIndex.Это скажет вам, какой ряд был выбран.В зависимости от того, как ваши данные связаны с вашим GridView, вы можете снова получить доступ к данным, чтобы получить нужные значения, или вы можете установить столбцы равными DataKey в GridView и получить к ним доступ таким образом.1009 *

...