2011-05-20 71 views
1

我想根據我選擇刪除的行從gridview中獲取數據。如何從所選的gridview行中獲取數據?

我想這一點,

string fileName = grdUploadedFiles.Rows[e.RowIndex].Cells[2].ToString(); 

,但它顯示的字符串,

System.Web.UI.WebControls.DataControlFieldCell 

我究竟能做些什麼來取,我已經插入到GridView的文件名。

此外,此字段不是DataKey。

+0

在此情況下,你是誰? – jams 2011-05-20 04:53:22

+0

RowDeleting事件 – user755230 2011-05-20 04:59:47

+0

如果答案解決了您的問題,那麼您應該「接受」它作爲答案。 – jams 2011-05-20 05:10:25

回答

1

如果cell不包含像label任何控制那就試試這個

string fileName = grdUploadedFiles.Rows[e.RowIndex].Cells[2].Text; 
0

您應該調用.Text作爲值,根據MSDN documentation

一般來說,默認情況下,值類型會覆蓋TooString。引用類型通常不會覆蓋.ToSting及其「值」(調用該類時通常會訪問的內容)。

0

這裏是MSDN一個例子:

<%@ Page Language="C#" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<script runat="server"> 

    void CustomersGridView_RowDeleting 
     (Object sender, GridViewDeleteEventArgs e) 
    { 
     TableCell cell = CustomersGridView.Rows[e.RowIndex].Cells[2]; 
     if (cell.Text == "Beaver") 
     { 
      e.Cancel = true; 
      Message.Text = "You cannot delete customer Beaver."; 
     } 
     else 
     { 
      Message.Text = ""; 
     } 
    } 

</script> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title>GridView RowDeleting Example</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <h3> 
     GridView RowDeleting Example 
    </h3> 
    <asp:Label ID="Message" ForeColor="Red" runat="server" /> 
    <br /> 
    <asp:GridView ID="CustomersGridView" runat="server" 
     DataSourceID="CustomersSqlDataSource" 
     AutoGenerateColumns="False" 
     AutoGenerateDeleteButton="True" 
     OnRowDeleting="CustomersGridView_RowDeleting" 
     DataKeyNames="CustomerID,AddressID"> 
     <Columns> 
      <asp:BoundField DataField="FirstName" 
       HeaderText="FirstName" SortExpression="FirstName" /> 
      <asp:BoundField DataField="LastName" HeaderText="LastName" 
       SortExpression="LastName" /> 
      <asp:BoundField DataField="City" HeaderText="City" 
       SortExpression="City" /> 
      <asp:BoundField DataField="StateProvince" HeaderText="State" 
       SortExpression="StateProvince" /> 
     </Columns> 
    </asp:GridView> 
    <asp:SqlDataSource ID="CustomersSqlDataSource" runat="server" 
     SelectCommand="SELECT SalesLT.CustomerAddress.CustomerID, 
      SalesLT.CustomerAddress.AddressID, 
      SalesLT.Customer.FirstName, 
      SalesLT.Customer.LastName, 
      SalesLT.Address.City, 
      SalesLT.Address.StateProvince 
      FROM SalesLT.Customer 
      INNER JOIN SalesLT.CustomerAddress 
      ON SalesLT.Customer.CustomerID = 
       SalesLT.CustomerAddress.CustomerID 
      INNER JOIN SalesLT.Address ON SalesLT.CustomerAddress.AddressID = 
       SalesLT.Address.AddressID" 
     DeleteCommand="Delete from SalesLT.CustomerAddress where CustomerID = 
      @CustomerID and AddressID = @AddressID" 
     ConnectionString="<%$ ConnectionStrings:AdventureWorksLTConnectionString %>"> 
     <DeleteParameters> 
      <asp:Parameter Name="AddressID" /> 
      <asp:Parameter Name="CustomerID" /> 
     </DeleteParameters> 
    </asp:SqlDataSource> 
    </form> 
</body> 
</html> 
相關問題