Рейтинг:
0
Karthik_Mahalingam
попробовать это
protected void lnkCompleted1_Click(object sender, EventArgs e)
{
string User1 = ((LinkButton)sender).CommandArgument;
ViewState["User1"] = User1;
MyFunction();
}
protected void MyFunction() {
strStatus = "Completedays";
grd1.Visible = true;
string User1 = ViewState["User1"]+"";
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
}
protected void grd1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
string Eve1 = ViewState["SecondStatus"].ToString();
if (Eve1 == "Completeddays")
{
MyFunction();
}
}
kav@94
но я получаю ошибку здесь сама знаешь
охраняемых недействительными lnkCompleted1_Click(объект отправителя, EventArgs в электронной)
{
строка User1 = ((LinkButton)sender).CommandArgument;
}
Karthik_Mahalingam
разместить разметку gridview
kav@94
мои наценки на gridview
наценка первого гривью
&ЛТ;в ASP:GridView в идентификатор="grd1" AutoGenerateColumns="false" - в HeaderStyle-свойства backcolor="#708090" CssClass="EU_DataTable" PagerStyle-цвет="черный" HeaderStyle-цвет="белый" атрибут runat="сервер" AllowPaging="true" в EmptyDataText="нет записи" ширина="100%"&ГТ;
<колонки>
&ЛТ;как ASP:BoundField HeaderText="пользователь" свойство datafield="дн" /&ГТ;
<asp:TemplateField HeaderText="новые партии">
<itemtemplate>
&ЛТ;как ASP:LinkButton элемент ID="lnkNewBatches" функция onclick="lnkNewBatches_Click" Имя_команды="выбрать опцию" CommandArgument='&л;%# Ивала("ДУ") %&ГТ;' атрибут runat="server"и&ГТ; и ASP:LinkButton&ГТ;
&ЛТ;АСП:шаблон HeaderText="бегут пачками"&ГТ; &ЛТ;%-- модифицированные работающие на выполняется--%&ГТ;
<itemtemplate>
&ЛТ;как ASP:LinkButton элемент ID="lnkRunningbatches" функция onclick="lnkRunningbatches_Click" Имя_команды="выбрать опцию" CommandArgument='&л;%# Ивала("ДУ") %&ГТ;' атрибут runat="сервер"и GT;
<asp:TemplateField HeaderText="CompletedBatches">
<itemtemplate>
&ЛТ;как ASP:LinkButton элемент ID="lnkCompletedBatches" функция onclick="lnkCompletedBatches_Click" Имя_команды="выбрать опцию" CommandArgument='&л;%# Ивала("ДУ") %&ГТ;' атрибут runat="сервер"и GT;
<RowStyle ForeColor="#000066" HorizontalAlign="Center" />
разметка второго вида сетки
&ЛТ;в ASP:GridView в идентификатор="grd2" атрибут runat="сервер" ShowFooter="истинный" CssClass="EU_DataTable" AutoGenerateColumns="false" - в EmptyDataText="нет записи"
OnPageIndexChanging="grdIndivuidualTask_PageIndexChanging" HeaderStyle-BackColor="#708090" PagerStyle-ForeColor="Black" HeaderStyle-ForeColor="White" AllowPaging="true" PageSize="2" Width="100%">
<колонки>
<asp:BoundField HeaderText="Name" DataField="Name" />
&ЛТ;как ASP:BoundField HeaderText="поле" свойство datafield="курс" /&ГТ;
<asp:BoundField HeaderText="присвоено" DataField="Dn" />
<asp:BoundField HeaderText="Status" DataField="WorkStatus" />
<RowStyle ForeColor="#000066" HorizontalAlign="Center" />
Karthik_Mahalingam
в сетке нет события lnkCompleted1_Click
kav@94
lnkCompletedBatches_Click это не что иное как lnkCompleted1_Click оба они одинаковы
Karthik_Mahalingam
пожалуйста, опубликуйте полную разметку, связанную с gridview
kav@94
хорошо вам нужен код обоих gridviews
Karthik_Mahalingam
первый код сетки
kav@94
охраняемых недействительными lnkNewBatches_Click(объект отправителя, EventArgs в электронной)
{
strStatus = "NewBatches";
grd2.Видимое = истинное;
User1 = ((LinkButton)отправитель).CommandArgument;
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
если (ДТ.Строк.Count > 0)
{
grd2.Источник данных = ДТ;
grd2.Привязку();
}
еще
{
grd2.Источник данных = значение null;
grd2.Привязку();
}
ViewState["SecondStatus"] = "NewBatches";
}
охраняемых недействительными lnkRunningbatches_Click(объект отправителя, EventArgs в электронной)
{
strStatus = "Runningbatches";
grd2.Видимое = истинное;
User1 = ((LinkButton)отправитель).CommandArgument;
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
если (ДТ.Строк.Count > 0)
{
grd2.Источник данных = ДТ;
grd2.Привязку();
}
еще
{
grd2.Источник данных = значение null;
grd2.Привязку();
}
ViewState["SecondStatus"] = "Runningbatches";
}
охраняемых недействительными lnkCompletedBatches_Click(объект отправителя, EventArgs в электронной)
{
strStatus = "завершенные пакеты";
grd2.Видимое = истинное;
User1 = ((LinkButton)отправитель).CommandArgument;
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
если (ДТ.Строк.Count > 0)
{
grd2.Источник данных = ДТ;
grd2.Привязку();
}
еще
{
grd2.Источник данных = значение null;
grd2.Привязку();
}
ViewState["SecondStatus"] = "CompletedBatches";
}
Подкачка второго вида сетки
охраняемых недействительными grd2_PageIndexChanging(объект отправителя, GridViewPageEventArgs е)
{
grd2.Pageindex было = Е.NewPageIndex;
строка Eve1 = ViewState["SecondStatus"].Метод toString();
если (!строка.IsNullOrEmpty(Eve1))
{
if (Eve1 == "CompletedBatches")
{
lnkCompletedBatches_Click(this, new EventArgs());
}
else if (Eve1 == "Runningbatches")
{
lnkRunningbatches_Click(это, новые EventArgs());
}
else if (Eve1 == "NewBatches")
{
lnkNewBatches_Click(this, new EventArgs());
}
}
grd2.Привязку();
}
Karthik_Mahalingam
попробовать это
protected void lnkNewBatches() {
strStatus = "NewBatches";
grd2.Visible = true;
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
if (dt.Rows.Count > 0)
{
grd2.DataSource = dt;
grd2.DataBind();
}
else
{
grd2.DataSource = null;
grd2.DataBind();
}
ViewState["SecondStatus"] = "NewBatches";
}
protected void lnkRunningbatches() {
strStatus = "Runningbatches";
grd2.Visible = true;
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
if (dt.Rows.Count > 0)
{
grd2.DataSource = dt;
grd2.DataBind();
}
else
{
grd2.DataSource = null;
grd2.DataBind();
}
ViewState["SecondStatus"] = "Runningbatches";
}
protected void lnkCompletedBatches() {
strStatus = "CompletedBatches";
grd2.Visible = true;
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
if (dt.Rows.Count > 0)
{
grd2.DataSource = dt;
grd2.DataBind();
}
else
{
grd2.DataSource = null;
grd2.DataBind();
}
ViewState["SecondStatus"] = "CompletedBatches";
}
protected void lnkNewBatches_Click(object sender, EventArgs e)
{
User1 = ((LinkButton)sender).CommandArgument;
lnkNewBatches();
}
protected void lnkRunningbatches_Click(object sender, EventArgs e)
{
User1 = ((LinkButton)sender).CommandArgument;
lnkRunningbatches();
}
protected void lnkCompletedBatches_Click(object sender, EventArgs e)
{
User1 = ((LinkButton)sender).CommandArgument;
lnkCompletedBatches();
}
protected void grd2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grd2.PageIndex = e.NewPageIndex;
string Eve1 = ViewState["SecondStatus"].ToString();
if (!string.IsNullOrEmpty(Eve1))
{
if (Eve1 == "CompletedBatches")
{
lnkCompletedBatches();
}
else if (Eve1 == "Runningbatches")
{
lnkRunningbatches();
}
else if (Eve1 == "NewBatches")
{
lnkNewBatches();
}
}
grd2.DataBind();
}
kav@94
проблема в том, что мне нужно получить имя пользователя, чьи записи мы просматриваем во втором gridview, чтобы User1 = ((LinkButton)sender).CommandArgument; но мы этого не получаем
Karthik_Mahalingam
поскольку переменная user1 объявлена снаружи, то никаких проблем не возникнет.
kav@94
ни один пользователь1 не приходит пустым нам нужно получить имя пользователя строки,которую мы щелкаем в завершенных, новых или ожидающих пакетах для этого конкретного пользователя
Karthik_Mahalingam
пользователь1 прочитать значение из ViewState в
protected void lnkNewBatches() {
strStatus = "NewBatches";
grd2.Visible = true;
User1 = ViewState["User1"] + "";
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
if (dt.Rows.Count > 0)
{
grd2.DataSource = dt;
grd2.DataBind();
}
else
{
grd2.DataSource = null;
grd2.DataBind();
}
ViewState["SecondStatus"] = "NewBatches";
}
protected void lnkRunningbatches() {
strStatus = "Runningbatches";
grd2.Visible = true;
User1 = ViewState["User1"] + "";
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
if (dt.Rows.Count > 0)
{
grd2.DataSource = dt;
grd2.DataBind();
}
else
{
grd2.DataSource = null;
grd2.DataBind();
}
ViewState["SecondStatus"] = "Runningbatches";
}
protected void lnkCompletedBatches() {
strStatus = "CompletedBatches";
grd2.Visible = true;
User1 = ViewState["User1"] + "";
DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
if (dt.Rows.Count > 0)
{
grd2.DataSource = dt;
grd2.DataBind();
}
else
{
grd2.DataSource = null;
grd2.DataBind();
}
ViewState["SecondStatus"] = "CompletedBatches";
}
protected void lnkNewBatches_Click(object sender, EventArgs e)
{
User1 = ((LinkButton)sender).CommandArgument;
ViewState["User1"] = User1;
lnkNewBatches();
}
protected void lnkRunningbatches_Click(object sender, EventArgs e)
{
User1 = ((LinkButton)sender).CommandArgument;
ViewState["User1"] = User1;
lnkRunningbatches();
}
protected void lnkCompletedBatches_Click(object sender, EventArgs e)
{
User1 = ((LinkButton)sender).CommandArgument;
ViewState["User1"] = User1;
lnkCompletedBatches();
}
kav@94
есть еще одна небольшая проблема мы получаем пейджинг и можем перемещаться но когда мы перемещаемся это означает что каждый раз когда мы нажимаем на пейджинг вторая сетка исчезает
Karthik_Mahalingam
Проверьте свойство visible. Возможно, он где-то установил значение false
kav@94
опять же в lnkCompletedBatches() usrer становится пустым
Karthik_Mahalingam
в противном случае попробуйте использовать сеанс.
kav@94
нет, он все еще не работает, почему, потому что мне нужно передать lnkCompleted1_Click(object sender, EventArgs e) в событии изменения индекса моей страницы
Karthik_Mahalingam
не имеет смысла пропускать это мероприятие. используйте какую-нибудь функцию с session или viewstate для преодоления этой проблемы.
Karthik_Mahalingam
пробовать
protected void lnkCompletedBatches_Click(object sender, EventArgs e)
{
string User1 = ((LinkButton)sender).CommandArgument;
ViewState["User1"] = User1;
MyFunction();
}