我的問題是我在頁面上使用了更新面板。有一個GridView,在這個數據綁定文本框的時候。我的問題是,如果我點擊選擇命令字段,我應該得到選定的行單元格值。但是現在,我只從選定行的指定單元格中獲取選定的索引no值。我只從選定的行獲得行索引。我需要進一步編碼的單元值。如果有人知道,請分享你的知識。我記得你我在頁面上使用過更新面板。我的需要是獲取選定的行值。我不關心哪個事件使用..沒有在更新面板中使用Gridview的單元格值
我的代碼如下:
<asp:GridView ID="GridView1" style="margin-left:130px;" runat="server"
AutoGenerateColumns="False" BackColor="#DEBA84" BorderColor="#DEBA84"
BorderStyle="None" BorderWidth="1px"
CellPadding="3" CellSpacing="2" DataKeyNames="MachID"
onselectedindexchanged="GridView1_SelectedIndexChanged" AllowPaging="True"
PageSize="2" onselectedindexchanging="GridView1_SelectedIndexChanging"
onrowdatabound="GridView1_RowDataBound"
onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField HeaderText="Punch No">
<ItemTemplate>
Punch <%#Container.DataItemIndex+1 %>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<%-- <asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text="Punch"></asp:Label>
</ItemTemplate>
</asp:TemplateField>--%>
<asp:BoundField DataField="MachID" Visible="False" />
<asp:BoundField DataField="PunchTime" HeaderText="Punch Time" ReadOnly="True" />
<asp:TemplateField Visible="False">
<ItemTemplate>
<asp:Label ID="lblhidden" runat="server" Text='<%# Eval ("Punchtime") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField SelectText="Edit" ShowSelectButton="True" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnEdit" runat="server" CommandName="edit"
onclick="btnEdit_Click" Text="Edit" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FFF1D4" />
<SortedAscendingHeaderStyle BackColor="#B95C30" />
<SortedDescendingCellStyle BackColor="#F1E5CE" />
<SortedDescendingHeaderStyle BackColor="#93451F" />
</asp:GridView>
</td>
我的代碼在這裏:
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
//e.NewSelectedIndex
int i = e.NewSelectedIndex;
string data = GridView1.Rows[i].Cells[0].Text;
if (data != "")
{
txtpunchin.Text = data.ToString();
}
}
你的第一個單元格似乎是一個模板字段。如果是這樣,你不能通過'Cells [0] .Text獲得價值;' – DarkKnight