Например, у меня есть запись о викторинах. Я хочу показать все викторины вместе со студентом, который его взял. Если общее количество викторинов равно 20, то список-список будет динамически добавлять еще один столбец в список. Как я могу это сделать? Кроме того, я хочу, чтобы в первом столбце списка отображалось имя ученика.Как я могу установить количество столбцов в виде списка динамически?
Вот как я вручную добавляю элементы в столбец.
listView1.Items.Clear();
conek.OPEN("Select * from thesisdb.teachers where username='"+txts+"'");
while(conek.reader.Read()){
ListViewItem ni = new ListViewItem(conek.reader[0].ToString());
ni.SubItems.Add(conek.reader[1].ToString());
ni.SubItems.Add(conek.reader[2].ToString());
ni.SubItems.Add(conek.reader[3].ToString());
ni.SubItems.Add(conek.reader[4].ToString());
ni.SubItems.Add(conek.reader[5].ToString());
ni.SubItems.Add(conek.reader[6].ToString());
ni.SubItems.Add(conek.reader[7].ToString());
ni.SubItems.Add(conek.reader[8].ToString());
ni.SubItems.Add(conek.reader[9].ToString());
listView1.Items.AddRange(new ListViewItem[] { ni });
}
conek.CLOSE();
Я попытался использовать цикл for для количества элементов для считывателя, но он, похоже, не работает.
Этот класс был предоставлен нашим инструктором, и это то, что мы используем с тех пор, как мы начали с C#.
namespace spms.classes
{
public class clsOpenCon
{
public static string connectionAddress = "uid=root; database=thesisdb;";
public static MySqlConnection CN = new MySqlConnection(classes.clsOpenCon.connectionAddress);
public MySqlCommand Com = new MySqlCommand();
public MySqlDataReader reader;
public void nonQuery(string cmdText)
{
Com.Connection = CN;
CN.Open();
Com.CommandText = cmdText;
Com.ExecuteNonQuery();
Com.Dispose();
CN.Close();
}
public void OPEN(string cmdtext)
{
Com.Connection = classes.clsOpenCon.CN;
classes.clsOpenCon.CN.Open();
Com.CommandText = cmdtext;
reader = Com.ExecuteReader();
}
public void CLOSE()
{
reader.Close();
Com.Dispose();
classes.clsOpenCon.CN.Close();
}
}
}
Я по-прежнему новичок в C#, и раньше я не использовал datagridview. делает ли логика добавление подпунктов и диапазонов позиций в список? –
Datagridview сделает все для вас - все, что вы делаете, это передать ему DataTable - эта строка, на которую я положил свой ответ, - это все, что вам нужно! Он получит имена столбцов и добавит их для вас. Возможно, вы захотите установить немного форматирования в GUI-дизайнере, чтобы он выглядел так, как вам хочется, - вы можете сделать их похожими на список. Если вы хотите сделать это вручную, лучше всего придерживаться списка, вероятно - datagridview лучше всего подходят для автоматического пути! – noelicus
, поэтому мне просто нужно создать таблицу данных, в которой я должен записывать свои SQL-инструкции, а затем использовать таблицу данных для datagridview для отображения данных? –