Vivek VIshwas Ответов: 1

Динамическое создание представления сетки на другом индексе строки gridview


Привет, Ребята !!

На самом деле мое требование состоит в том, чтобы создавать Gridview динамически и связывать данные в виде сетки и генерировать другой gridview в то же время в предыдущей строке представления сетки снова и снова...


Привязка Gridview динамически из кода позади In asp.net из таблицы базы данных
Производя другой сетке сверху индекс GridView в строке, если данные найти.

Что я уже пробовал:

мой код.....
<asp:GridView ID="GridView1" runat="server" /> 
 
Cs..........
 
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString.ToString());
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetData();
}
}
private void GetData()
{
String query = "Select * from TopBill where Pid=0";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dtMasterBill = new DataTable();
sda.Fill(dtMasterBill);
if (dtMasterBill.Rows.Count > 0)
{
GridView1.DataSource = dtMasterBill;
GridView1.DataBind();
}
else
{
// fieldReptr.Visible = false;
}
}
 
 
 
Table ----------
CREATE TABLE [dbo].[TopBill](
[srNo] [int] IDENTITY(1,1) NOT NULL,
[Pid] [int] NULL,
[PName] [nvarchar](max) NULL,
[PDetails] [nvarchar](max) NULL,
[cId] [int] NULL,
[Cname] [nvarchar](max) NULL,
[Cqty] [nvarchar](max) NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[TopBill] ON
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (1, 0, N'', N'optional', 10, N'India', N'')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (2, 10, N'India', N'optional', 1010, N'Delhi', N'1')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (4, 0, N'', N'optional', 11, N'Uk', N'')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (6, 0, N'', N'optional', 12, N'USA', N'')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (7, 0, N'', N'optional', 13, N'Canada', N'')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (8, 13, N'Canada', N'optional', 1310, N'Canada-A', N'10')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (12, 15, N'America', N'', 1510, N'New Jursy', N'10')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (15, 0, N'', N'', 16, N'bihar', N'')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (16, 1010, N'Delhi', N'optional', 101010, N'Preet Vihar', N'320')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (9, 13, N'Canada', N'optional', 1311, N'Canada-B', N'12')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (10, 0, N'', N'', 14, N'Itley', N'')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (11, 0, N'', N'', 15, N'America', N'')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (13, 15, N'America', N'', 1511, N'New Jersy', N'10')
INSERT [dbo].[TopBill] ([srNo], [Pid], [PName], [PDetails], [cId], [Cname], [Cqty]) VALUES (14, 1510, N'New Jursy', N'', 151010, N'Cat', N'12121')
SET IDENTITY_INSERT [dbo].[TopBill] OFF

Пожалуйста, решите это срочно...

Karthik_Mahalingam

не ясно, используйте Улучшить вопрос чтобы добавить больше информации к этому вопросу.

Vivek VIshwas

Я должен динамически создать сеточное представление из базы данных и связать его с данными. В моем выше таблице SQL есть несколько дур, я хочу, чтобы автоматически создать другой вид сетки от родителей в табличном виде строки показатель код строки код содержит несколько записей, значит я хочу создать вложенные сетки на индекс GridView в строке.

Karthik_Mahalingam

Итак, при щелчке родительской строки gridview вам нужно заполнить дочернюю строку gridview соответствующими элементами ?

Vivek VIshwas

ну конечно же !

Позвольте мне объяснить еще раз. У меня есть таблица, в которой есть 5 столбцов: Srno, Pid, Pname, CId, cName, cQty и Pdetails. В моей таблице cid повторяется более одного раза в Pid. Я взял gridview, чтобы связать все данные из таблицы базы данных. Теперь, когда привязка gridview успешно завершена, все в порядке. Теперь то, что я хочу, предположим, что в gridview первой строки id равен 15 ( то есть pid, который является uniique в столбце cId), как создать другое представление сетки, чтобы показать данные, где pid=15 из таблицы. и это будет происходить снова и снова, если какой-либо идентификатор строки повторяется в столбце Pid . А теперь скажи мне, как решить эту проблему.

Karthik_Mahalingam

вам нужен отдельный gridview для отображения дочерних деталей?

Vivek VIshwas

Но как это сделать?

Karthik_Mahalingam

проверьте решение.

1 Ответов

Рейтинг:
0

Karthik_Mahalingam

обратитесь к этому примеру

<form id="form1" runat="server">
     
        Parent Data
        <asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" autogenerateselectbutton="True"></asp:GridView>
        Child Data
        <asp:GridView ID="GridView2" runat="server"  ></asp:GridView>
    </form>


protected void Page_Load(object sender, EventArgs e)
       {
           if (!Page.IsPostBack) {
               DataTable dt = GetParentData();  // Get the Parent Data
               GridView1.DataSource = dt;
               GridView1.DataBind();

           }
       }



       protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
       {
           GridViewRow row = GridView1.SelectedRow;
           string pid = row.Cells[0].ToString();
           DataTable dtChild = GetChildData(pid);  // // Get the Child Data based on the Parent ID selected
           GridView2.DataSource = dtChild;
           GridView2.DataBind();

       }


Vivek VIshwas

охраняемых недействительными в(объект отправителя, EventArgs в электронной)
{
если (!страница.IsPostBack)
{
// DataTable dt = GetParentData(); // получить родительские данные
// Управления gridview1.Источник данных = ДТ;
// Управления gridview1.Привязку();
Биндгрид();
}
}



охраняемых недействительными GridView1_SelectedIndexChanged(объект отправителя, EventArgs в электронной)
{
Подряд GridViewRow = gridview1, на.SelectedRow;
строковый идентификатор процесса = ряд.Клетки[4].Метод toString();






строка strConnString = ConfigurationManager.ConnectionStrings["constr"].Параметр connectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
используя (команда sqlcommand cmd и = новая команда sqlcommand("Select * из TopBill где PID="+пид+""))
{
использование (SqlDataAdapter sda = новый SqlDataAdapter())
{
УМК.Подключение = кон;
АСД.Команды selectcommand = ЦМД;
using (DataTable dt = new DataTable())
{
ПДД.Заполнить(ДТ);
Управления gridview1.Источник данных = ДТ;
Управления gridview1.Привязку();
}
}
}
}

//DataTable dtChild = GetChildData(pid); // // получить дочерние данные на основе выбранного родительского идентификатора
//GridView2.Источник данных = dtChild;
//GridView2.DataBind();

}
частный недействительными BindGrid()
{
строка strConnString = ConfigurationManager.ConnectionStrings["constr"].Параметр connectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlCommand cmd = new SqlCommand("Select * from TopBill where Pid=0"))
{
использование (SqlDataAdapter sda = новый SqlDataAdapter())
{
УМК.Подключение = кон;
АСД.Команды selectcommand = ЦМД;
using (DataTable dt = new DataTable())
{
ПДД.Заполнить(ДТ);
Управления gridview1.Источник данных = ДТ;
Управления gridview1.Привязку();
}
}
}
}
}

Vivek VIshwas

проверьте это и решите проблемы

Karthik_Mahalingam

ПДД.Заполнить(ДТ);
Управления gridview1.Источник данных = ДТ;
Управления gridview1.Привязку();
}

это должно быть gridview2 в дочернем разделе

Vivek VIshwas

нет, это совсем не помогло.

Karthik_Mahalingam

покажи свой код.

Vivek VIshwas

охраняемых недействительными в(объект отправителя, EventArgs в электронной)
{
если (!страница.IsPostBack)
{
// DataTable dt = GetParentData(); // получить родительские данные
// Управления gridview1.Источник данных = ДТ;
// Управления gridview1.Привязку();
Биндгрид();
}
}



охраняемых недействительными GridView1_SelectedIndexChanged(объект отправителя, EventArgs в электронной)
{
Подряд GridViewRow = gridview1, на.SelectedRow;
строковый идентификатор процесса = gridview1, на.Строки[0].Клетки[5].Текст;







строка strConnString = ConfigurationManager.ConnectionStrings["constr"].Параметр connectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
используя (команда sqlcommand cmd и = новая команда sqlcommand("Select * из TopBill где PID="+пид+""))
{
использование (SqlDataAdapter sda = новый SqlDataAdapter())
{
УМК.Подключение = кон;
АСД.Команды selectcommand = ЦМД;
using (DataTable dt = new DataTable())
{
ПДД.Заполнить(ДТ);
Управления gridview1.Источник данных = ДТ;
Управления gridview1.Привязку();
}
}
}
}

//DataTable dtChild = GetChildData(pid); // // получить дочерние данные на основе выбранного родительского идентификатора
//GridView2.Источник данных = dtChild;
//GridView2.DataBind();

}
частный недействительными BindGrid()
{
строка strConnString = ConfigurationManager.ConnectionStrings["constr"].Параметр connectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlCommand cmd = new SqlCommand("Select * from TopBill where Pid=0"))
{
использование (SqlDataAdapter sda = новый SqlDataAdapter())
{
УМК.Подключение = кон;
АСД.Команды selectcommand = ЦМД;
using (DataTable dt = new DataTable())
{
ПДД.Заполнить(ДТ);
Управления gridview1.Источник данных = ДТ;
Управления gridview1.Привязку();
}
}
}
}
}

Karthik_Mahalingam

охраняемых недействительными GridView1_SelectedIndexChanged(объект отправителя, EventArgs в электронной)
{
Подряд GridViewRow = gridview1, на.SelectedRow;
строковый идентификатор процесса = gridview1, на.Строки[0].Клетки[5].Текст;







строка strConnString = ConfigurationManager.ConnectionStrings["constr"].Параметр connectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
используя (команда sqlcommand cmd и = новая команда sqlcommand("Select * из TopBill где PID="+пид+""))
{
использование (SqlDataAdapter sda = новый SqlDataAdapter())
{
УМК.Подключение = кон;
ПДД.Команды selectcommand = ЦМД;
using (DataTable dt = new DataTable())
{
ПДД.Заполнить(ДТ);
GridView2.Источник данных = ДТ;
GridView2.DataBind();
}
}
}
}

Vivek VIshwas

Вы нашли мою почту, сэр?

Karthik_Mahalingam

какая почта?
какое сообщение об ошибке вы получаете?

Vivek VIshwas

строковый идентификатор процесса = gridview1, на.Строки[0].Клетки[5].Текст;

приведенный выше код опишите, что подряд в одну ги 5-я колонна ки значение Jo hogi Ву пид Хоге. или вы каждый раз ЕК привет hogi м ки Йе в 1-м ряду ко привет проверить КР РГА ч. ЖКХ каждый Ро Ко проверить крна ч

Vivek VIshwas

Сэр, ваша эта строка кода выдает ошибку

Подряд GridViewRow = gridview1, на.SelectedRow;
строковый идентификатор процесса = ряд.Ячейки[0].Метод toString();

Karthik_Mahalingam

что такое сообщение об ошибке, 0-это индекс столбца(pid) в моем случае это 0, но у вас он будет другим, посчитайте позицию столбца и -1 от этого.. то есть индекс.

Vivek VIshwas

Могу ли я получить вашу электронную почту, чтобы я мог больше обсудить, пожалуйста

Karthik_Mahalingam

электронная почта не поощряется по некоторым причинам.

Vivek VIshwas

хорошо, сэр, вы поняли мой вопрос.
давайте объясним еще раз на хинди.

jaise предположим ки ЕК таблица ч jiske сведения ко hmne сетки мне привязать КР Дия.
АБ jaise привет сетки привязки Хуа waise привет ЖКХ нам вид сетки КР каждая строка ко проверить крна ки Кия Джо строке ИД ч. Ву hamare стол мне 1 ГП jayda баар повторите Хо РГА ч. СМА, Хо РГА н к ЕК aotomatic сетки создать Хо или wo данные в табличном виде меня привязать Хо АБ jaise привет вам вид сетки привязки Хуа waise привет АБ ЖКХ исме бхи проверить крна ч кя-это вид сетки Кэ ID я имею в виду ПИД-ЕК се jayda раз повторю Хо Ри H таблица меня СМА ХАА в Фир ГП же Вахи автоматическая GridView для создания однородных или Усме-это Вали строки ки код ке по данных облигаций Хо.



Karthik_Mahalingam

мне не нравится хинди,
в основном вы пытаетесь получить различные пид и ?

Vivek VIshwas

Предположим , у меня есть таблица, содержащая Pid, Cid, Pnamem Cname, Srno.
в моей таблице cid повторяется несколько раз в столбце pid.

Теперь я хочу показать все данные в виде сетки, и они прекрасно отображаются. поскольку мой процесс привязки представления сетки происходит в коде позади, я должен найти pid строки reach, чтобы проверить, что pid повторяется более одного раза. если да, то в то же время я хочу автоматически создать вид сетки, чтобы показать данные в соответствии с каждой строкой pid, если pid больше одного раза.

давай посмотрим.

Срно идентификатор изъятия УУР запись CNAME Cqty
11 0 15 Америка
12 15 Америка 1510 Нью-Джурси 10
13 15 Америка 1511 Нью Джерси 5

я пишу код для привязки данных к представлению сетки

sql-запрос выглядит так - выберите cid, cname из TopBill, где Pid=0

вы получите такой результат, как -
УУР Запись CNAME
15 Америка
Теперь , когда вышеприведенные данные привязываются в виде сетки, мы должны проверить строку представления сетки и найти Cid, а если CId находится в столбце PId, мы должны создать представление сетки, чтобы привязать данные в соответствии с основанным идентификатором.

Вот что мне нужно

Karthik_Mahalingam

можете ли вы сделать скриншот и опубликовать мне, каков ожидаемый результат четко.
я уверен, что это очень простая задача, но почему-то вы не можете объяснить ее легко.

Vivek VIshwas

как мне прикрепить скриншот ?

Karthik_Mahalingam

В imgur

Vivek VIshwas

я ничего не понял..

Vivek VIshwas

нажмите здесь, чтобы получить все файлы
и я также опубликовал изображение в качестве желаемого результата вывода

http://www.c-sharpcorner.com/forums/how-to-create-a-report-in-database-table-as-treeview-design

Karthik_Mahalingam

ладно

Vivek VIshwas

пожалуйста, проверьте и помогите мне срочно, сэр...
Это будет очень трудно решить эти вопросы.
Мой проект просто опустился на эту позицию.

Karthik_Mahalingam

сгруппированные таблицы?

Vivek VIshwas

я не понял, к чему ты клонишь?

Karthik_Mahalingam

согласно скриншоту в ссылке, которую вы предоставили.