이 작업은 매우 간단합니다. GridView의 데이터 소스로 사용하는 SqlDataSource에서 가정하면 양방향 바인딩이 자동으로 수행됩니다.
Protected Sub dgProviders_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgProviders.RowCommand
Select e.CommandName
Case "Search"
Dim strProvName As String = CType(Me.dgProviders.HeaderRow.FindControl("txtSearchName"), TextBox).Text
If strProvName = String.Empty Then
Me.lblResults.Text = "<span style=""color:maroon"">You have to enter a search term: part of the name to do a search.</span><br />"
Else
Me.sqlProvList.SelectParameters.Clear()
If strProvName <> String.Empty Then
Me.sqlProvList.SelectCommand = "SELECT provID, provname, addr, tele FROM prov WHERE [provname] LIKE '%' + @username + '%' ORDER BY [provname]"
Me.sqlProvList.SelectParameters.Add("username", DbType.String, strProvName)
End If
Me.dgProviders.PageIndex = 0
Session("Select") = Me.sqlProvList.SelectCommand
End If
End Select
End Sub
: 당신이 다음 approproate 이벤트 처리기에서, 당신은 예를 들어 다음과 같은 코드를 사용할 수 있습니다, 라벨 객체에 도착하려면,
UpdateCommand="UPDATE [prov] SET [email protected], [email protected], [email protected] WHERE [email protected] " >
<UpdateParameters>
<asp:ControlParameter ControlID="dgProviders" Name="provID" PropertyName="SelectedValue" />
<asp:Parameter Name="login" />
<asp:Parameter Name="password" />
<asp:Parameter Name="username" />
<asp:Parameter Name="contact_email" />
<asp:Parameter Name="bar_number" />
</UpdateParameters>
이제 : 저는 여기의 SqlDataSource에있는 일부 코드입니다
데이터 그리드의 머리글 행에있는 텍스트 상자의 값을 가져 오는 "검색"단추에서 가져온 것입니다. ,
//the row that's being edited
GridViewRow row = GridView1.Rows[0];
if (row.RowState == DataControlRowState.Edit)
{
Label lblCtrl = row.FindControl("Label1") as Label;
if (lblCtrl != null)
{
string text = lblCtrl.Text;
}
}
는 이것에 대한 datakey를 사용하는 것이 더 좋을 수도 만약 내가 궁금하네요 :
고맙습니다 다비드 var에 telLabel = form1.FindControl ("telephoneidL abel ") 레이블로; 문자열 strtel = telLabel.Text; 그것은 일했다! – debutante