In aspx:
***********************
<asp:GridView id="gvTasks" OnRowCommand="gvTasks_RowCommand" OnRowUpdating="gvTasks_RowUpdating" OnRowDataBound="gvTasks_RowDataBound" DataKeyNames="pkiTask" OnRowEditing="gvTasks_RowEditing" AutoGenerateColumns="False" CellPadding="2">
<Columns>
<asp:ButtonField DataTextField="uqsTaskName" HeaderText="Task Name" Text="Button" SortExpression="uqsTaskName" CommandName="ViewMessage" />
<asp:TemplateField HeaderText="Assign To" >
<EditItemTemplate >
<asp:DropDownList ID="ddlLogins" runat="server" Width="190px" TabIndex="-1" DataValueField="pksLogin"
DataTextField="pksLogin">
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("sAssignedTo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
In Code behind aspx.cs
*******************************
protected void gvTasks_RowDataBound(object sender, GridViewRowEventArgs e)
{
DBServices DBS = new DBServices();
int roleID = (int)Session["RoleID"];
DataSet dsInit = new DataSet();
dsInit = DBS.GetUserSecuritysLogin(roleID);
DropDownList ddl = (DropDownList)e.Row.FindControl("ddlLogins");
if (ddl != null)
{
if (dsInit.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in dsInit.Tables[0].Rows)
{
ddl.Items.Add(dr["pksLogin"].ToString());
}
}
//string loginName = e.Row.Cells[3].Text;
ddl.SelectedValue = e.Row.Cells[3].Text;
}
}
protected void gvTasks_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int index = e.RowIndex;
GridViewRow row = gvTasks.Rows[index];
int TaskID = (int)gvTasks.DataKeys[row.DataItemIndex].Value;
DropDownList ddl1 = new DropDownList();
ddl1 = (DropDownList)gvTasks.Rows[index].FindControl("ddlLogins");
string loginName = ddl1.SelectedValue;
DBServices DBS = new DBServices();
DBS.SetTasksAssignedTo(TaskID, loginName);
gvTasks.EditIndex = -1;
BindData();
}
|