2017-01-13 3 views
-1

У меня есть элемент управления gridview, который содержит 6 столбцов, когда я нажимаю шестую строку столбца gridview. Мне нужно выбрать, который содержит текст столбца в строке. Как я могу взять здесь я беру CommandArgument является строкой, и как я могу взять еще один имена столбцов текстуКак я могу удерживать выделенные строки в виде сетки в строке в asp.net

мой код:

<asp:GridView ID="GridView1" Width="950px" CssClass="Grid" runat="server" AutoGenerateColumns="false" OnRowCommand="GridView1_RowCommand" > 
        <Columns> 
          <asp:GridView ID="GridView1" Width="950px" CssClass="Grid" runat="server" AutoGenerateColumns="false" > 
     <Columns> 
      <asp:BoundField DataField="ID" HeaderText="" ItemStyle-ForeColor="White" /> 
      <asp:BoundField DataField="Name" HeaderText="Name" /> 
      <asp:BoundField DataField="SName" HeaderText="SName" />       
      <asp:BoundField DataField="Date" HeaderText="Date" /> 
      <asp:BoundField DataField="Size" HeaderText="Size(MB)" />  
      <asp:BoundField DataField="Time" HeaderText="Time" />     

        <asp:TemplateField HeaderText="FileName"> 
            <ItemTemplate> 
             <asp:LinkButton ID="lnkDownload" runat="server" CausesValidation="False" CommandArgument='<%# Eval("FileName") %>' 
              CommandName="Download" Text='<%# Eval("FileName") %>' /> 
            </ItemTemplate> 
           </asp:TemplateField> 
     <asp:TemplateField HeaderText="S.No." Visible="false"> 
           <ItemTemplate> 
            <asp:Label ID="lblID" runat="server" Text='<%#Bind("ID") %>'></asp:Label> 
           </ItemTemplate> 
          </asp:TemplateField>      
        </Columns>   
       </asp:GridView> 

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     string ID1; 
     if (e.CommandName == "Download") 
     { 
      GridViewRow gvr = (GridViewRow)((Control)e.CommandSource).NamingContainer; 
      int rowIndex = gvr.RowIndex; 
      Label Itemid = (Label)GridView1.Rows[rowIndex].FindControl("lblID"); 
      ID1 = (Itemid).Text; 
      Session["ID"] = ID1; 
      string filename = e.CommandArgument.ToString(); 
//here how can i hold another column text 
      } 
      } 
+0

вы можете добавить все элементы управления, которые вам нужны в rowcommand в Itemtempla te и найти их так же, как и для lblID, другой способ состоит в том, чтобы иметь вход, а tou может конкатцировать все значения как разделенные запятой строки, а затем найти, что в методе rowcommand –

+0

Привет, мой ответ, если он соответствует вашим потребностям, пожалуйста, отметьте и как. если у вас есть еще вопрос, сообщите мне, я рад помочь. –

ответ

0

У меня есть простой способ сделать это же самое ...

<asp:Label ID="lblName" runat="server" Text='<%#Eval("ID").ToString() +", "+ Eval("OtherCoulmn").ToString() %>'></asp:Label> 

--- hope it helps 

    Also the best way is to do something like this 

((MyObject)Container.DataItem).MyProperty where MyObject is the Model which you bind with grid and property which you wan to use in rowcommand its clean . 
0

Просто следуйте сильфон образцу коды:

protected void btnEdit_Click(object sender, EventArgs e) 
{ 
    Button btn = sender as Button; 
    GridViewRow gvr = (GridViewRow)btn.NamingContainer; 
    Label lblId = gvCipamMember.Rows[gvr.RowIndex].FindControl("lblPersonId") as Label; 
      cmd = new SqlCommand("SELECT Id,Res_Person,Email_ID,Mobile_NO,Cipam_Flag FROM Responsibilty_Master WHERE [email protected]", con.MyConnection); 
      cmd.Parameters.AddWithValue("@Id", Convert.ToInt32(lblId.Text.ToString())); 
      dt = new DataTable(); 
      con.MyConnection.Open(); 
      dt.Load(cmd.ExecuteReader()); 
      if (dt.Rows.Count > 0) 
      { 
       txtPersonName.Text = dt.Rows[0]["Res_Person"].ToString(); 
       txtEmail.Text = dt.Rows[0]["Email_ID"].ToString(); 
       txtMobileNo.Text = dt.Rows[0]["Mobile_NO"].ToString(); 
       if(Convert.ToBoolean(dt.Rows[0]["Cipam_Flag"].ToString())==true) 
       { 
        chkbCipamFlag.Checked = true; 
       } 
      } 
} 
Смежные вопросы